Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
id: id || _id,
title: slug,
name: typeof slug === 'string' ? basename(slug) : '',
post_title: slugize(title, {transform: 1}),
year: date.format('YYYY'),
month: date.format('MM'),
day: date.format('DD'),
hour: date.format('HH'),
minute: date.format('mm'),
i_month: date.format('M'),
i_day: date.format('D'),
hash
};
if (!permalink || permalink.rule !== config.permalink) {
permalink = new Permalink(config.permalink);
}
const { categories } = data;
if (categories.length) {
meta.category = categories.last().slug;
} else {
meta.category = config.default_category;
}
const keys = Object.keys(data);
for (const key of keys) {
if (Object.prototype.hasOwnProperty.call(meta, key)) continue;
// Use Object.getOwnPropertyDescriptor to copy getters to avoid "Maximum call
function newPostPathFilter(data = {}, replace) {
const sourceDir = this.source_dir;
const draftDir = join(sourceDir, '_drafts');
const postDir = join(sourceDir, '_posts');
const { config } = this;
const newPostName = config.new_post_name;
const permalinkDefaults = config.permalink_defaults;
const { path, layout, slug } = data;
if (!permalink || permalink.rule !== newPostName) {
permalink = new Permalink(newPostName);
}
let target = '';
if (path) {
switch (layout) {
case 'page':
target = join(sourceDir, path);
break;
case 'draft':
target = join(draftDir, path);
break;
default:
target = join(postDir, path);
function parseFilename(config, path) {
config = config.substring(0, config.length - extname(config).length);
path = path.substring(0, path.length - extname(path).length);
if (!permalink || permalink.rule !== config) {
permalink = new Permalink(config, {
segments: {
year: /(\d{4})/,
month: /(\d{2})/,
day: /(\d{2})/,
i_month: /(\d{1,2})/,
i_day: /(\d{1,2})/,
hash: /([0-9a-f]{12})/
}
});
}
const data = permalink.parse(path);
if (data) {
return data;
}