]> git.r.bdr.sh - rbdr/blog/blobdiff - bin/blog.js
Add archive publishing
[rbdr/blog] / bin / blog.js
index c88a8aae14739dfdb618f92eda2cde33d710284a..8f0ab70e3ad192c54a42a2b639971c5ef8cc2e73 100755 (executable)
@@ -1,13 +1,14 @@
 #!/usr/bin/env node
 'use strict';
 
+const Package = require('../package.json');
 const Config = require('../config/config');
 const Blog = require('..');
 const Minimist = require('minimist');
 
 const internals = {
   blog: new Blog(Config),
-  expectedKeys: ['add', 'update', 'publish'],
+  expectedKeys: ['add',  'generate', 'update', 'publish', 'publish-archive', 'version'],
 
   // Application entry point. Reads arguments and calls the
   // corresponding method from the blog lib
@@ -22,6 +23,11 @@ const internals = {
 
           const value = parsedArguments[argument];
 
+          if (argument === 'version') {
+            console.log(Package.version);
+            return;
+          }
+
           if (argument === 'add') {
             await internals.blog.add(value);
             return;
@@ -32,12 +38,23 @@ const internals = {
             return;
           }
 
+          if (argument === 'generate') {
+            await internals.blog.generate();
+            return;
+          }
+
           if (argument === 'publish') {
-            await internals.blog.update(value);
+            await internals.blog.publish(value);
+            return;
+          }
+
+          if (argument === 'publish-archive') {
+            await internals.blog.publishArchive(value);
             return;
           }
         }
       }
+
       console.log('Not yet implemented');
     }
     catch (err) {
@@ -75,8 +92,11 @@ const internals = {
 
     console.error('\nUsage:\n');
     console.error('blog --add path/to/blog_post\t\t(creates new blog post)');
-    console.error('blog --update path/to/blog_post\t(updates latest blog post)');
-    console.error('blog --publish \t\t\t(publishes the blog)');
+    console.error('blog --update path/to/blog_post\t\t(updates latest blog post)');
+    console.error('blog --generate \t\t\t(generates the blog assets)');
+    console.error('blog --publish <bucket> \t\t(publishes the blog to an S3 bucket)');
+    console.error('blog --publish-archive <destination> \t(publishes the archive to a remote host)');
+    console.error('blog --version \t\t\t\t(print the version)');
   }
 };