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": [