From 6556968d32caac9aa338fd6b3497428321db571f Mon Sep 17 00:00:00 2001 From: Heydon Pickering Date: Wed, 13 Sep 2017 10:14:15 +0100 Subject: [PATCH] script abstraction --- lib/build.js | 11 +++++++++++ lib/clean.js | 23 +++++++++++++++++++++++ package.json | 4 ++-- 3 files changed, 36 insertions(+), 2 deletions(-) create mode 100644 lib/build.js create mode 100644 lib/clean.js diff --git a/lib/build.js b/lib/build.js new file mode 100644 index 0000000..39478ab --- /dev/null +++ b/lib/build.js @@ -0,0 +1,11 @@ +var exec = require('child_process').exec; +var path = require('path'); + +exec('rm -rfv ' + path.join(path.resolve('.'), 'docs', '*') + ' && hugo && sw-precache --root=docs && git add -A', function(error, stdout, stderr) { + console.log('Building...'); + if (error !== null) { + console.error('Error building site.'); + return; + } + console.log('Site built at /docs.'); +}); diff --git a/lib/clean.js b/lib/clean.js new file mode 100644 index 0000000..f41cdaa --- /dev/null +++ b/lib/clean.js @@ -0,0 +1,23 @@ +var exec = require('child_process').exec; +var path = require('path'); + +exec('rm -rf ' + path.join(path.resolve('.'), 'content') + ' && mkdir content && mkdir ' + path.join('content', 'patterns'), function(error, stdout, stderr) { + console.log('Initializing new project...'); + if (error !== null) { + console.error('Error creating folder structure.'); + return; + } + exec ('hugo new ' + path.join('patterns', 'pattern.md') + ' && hugo new _index.md && hugo new print-version.md --kind print-version', function(error, stdout, stderr) { + if (error !== null) { + console.error('Error creating new project files.'); + return; + } + exec ('cat ' + path.join('themes', 'infusion', 'data', 'README_BLANK.md') + ' > README.md', function(error, stdout, stderr) { + if (error !== null) { + console.error('Error initializing README file.'); + return; + } + console.log('New project ready. See patterns/pattern.md to get started.'); + }); + }); +}); diff --git a/package.json b/package.json index 28db203..c9eb566 100644 --- a/package.json +++ b/package.json @@ -6,8 +6,8 @@ "scripts": { "test": "echo \"Error: no test specified\" && exit 1", "serve": "hugo server --baseURL http://localhost:1313", - "clean": "rm -rf content && mkdir content && mkdir content/patterns && hugo new patterns/pattern.md && hugo new _index.md && hugo new print-version.md --kind print-version && cat themes/infusion/data/README_BLANK.md > README.md", - "build": "rm -rfv docs/* && hugo && sw-precache --root=docs && git add -A", + "clean": "node lib/clean.js", + "build": "node lib/build.js", "update": "node lib/update.js" }, "pre-commit": [