mirror of
https://github.com/10h30/wordpress-export-to-markdown.git
synced 2026-07-17 21:53:49 +09:00
Filterting for categories, omit empty lists in frontmatter
This commit is contained in:
+19
-7
@@ -56,14 +56,26 @@ async function writeMarkdownFilesPromise(posts, config ) {
|
||||
|
||||
async function loadMarkdownFilePromise(post) {
|
||||
let output = '---\n';
|
||||
Object.entries(post.frontmatter).forEach(pair => {
|
||||
const key = pair[0];
|
||||
const value = Array.isArray(pair[1])
|
||||
? (pair[1].length === 0 ? "" : "\n - \"" + pair[1].join("\"\n - \"") + "\"")
|
||||
: '"' + (pair[1] || '').replace(/"/g, '\\"') +'"';
|
||||
output += key + ': ' + value + '\n';
|
||||
|
||||
Object.entries(post.frontmatter).forEach(([key, value]) => {
|
||||
let outputValue;
|
||||
if (Array.isArray(value)) {
|
||||
if (value.length > 0) {
|
||||
// array of one or more strings
|
||||
outputValue = value.reduce((list, item) => `${list}\n - "${item}"`, '');
|
||||
}
|
||||
} else {
|
||||
// single string value
|
||||
const escapedValue = (value || '').replace(/"/g, '\\"');
|
||||
outputValue = `"${escapedValue}"`;
|
||||
}
|
||||
|
||||
if (outputValue !== undefined) {
|
||||
output += `${key}: ${outputValue}\n`;
|
||||
}
|
||||
});
|
||||
output += '---\n\n' + post.content + '\n';
|
||||
|
||||
output += `---\n\n${post.content}\n`;
|
||||
return output;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user