create npm command

This commit is contained in:
Jason Lloyd
2020-01-16 17:44:50 +00:00
parent 2024d63aed
commit ebfcce977a
2 changed files with 12 additions and 7 deletions
+8 -6
View File
@@ -1,3 +1,5 @@
#!/usr/bin/env node
const fs = require('fs');
const luxon = require('luxon');
const minimist = require('minimist');
@@ -49,11 +51,11 @@ function readFile(path) {
}
function parseFileContent(content) {
const processors = { tagNameProcessors: [ xml2js.processors.stripPrefix ] };
const processors = { tagNameProcessors: [xml2js.processors.stripPrefix] };
xml2js.parseString(content, processors, (err, data) => {
if (err) {
console.log('Unable to parse file content.');
console.log(err);
console.log(err);
} else {
processData(data);
}
@@ -112,7 +114,7 @@ function addContentImages(data, images) {
console.log('Scraped ' + url + '.');
}
}
});
});
}
function collectPosts(data) {
@@ -155,13 +157,13 @@ function initTurndownService() {
// but this series of checks should find the commonalities
return (
['P', 'DIV'].includes(node.nodeName) &&
node.attributes['data-slug-hash'] &&
node.attributes['data-slug-hash'] &&
node.getAttribute('class') === 'codepen'
);
},
replacement: (content, node) => '\n\n' + node.outerHTML
});
// preserve embedded scripts (for tweets, codepens, gists, etc.)
turndownService.addRule('script', {
filter: 'script',
@@ -294,7 +296,7 @@ function writeMarkdownFile(post, postDir) {
return accumulator + pair[0] + ': "' + pair[1] + '"\n'
}, '');
const data = '---\n' + frontmatter + '---\n\n' + post.content + '\n';
const postPath = path.join(postDir, getPostFilename(post));
fs.writeFile(postPath, data, (err) => {
if (err) {
+4 -1
View File
@@ -23,5 +23,8 @@
"request": "^2.88.0",
"turndown": "^5.0.3",
"xml2js": "^0.4.22"
},
"bin": {
"w2m": "./index.js"
}
}
}