From ebfcce977af578f8dc919167359f848392c2f8f9 Mon Sep 17 00:00:00 2001 From: Jason Lloyd Date: Thu, 16 Jan 2020 17:44:50 +0000 Subject: [PATCH] create npm command --- index.js | 14 ++++++++------ package.json | 5 ++++- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/index.js b/index.js index 8f50b13..9699fba 100644 --- a/index.js +++ b/index.js @@ -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) { diff --git a/package.json b/package.json index bacac2d..1d44cd9 100644 --- a/package.json +++ b/package.json @@ -23,5 +23,8 @@ "request": "^2.88.0", "turndown": "^5.0.3", "xml2js": "^0.4.22" + }, + "bin": { + "w2m": "./index.js" } -} +} \ No newline at end of file