]> git.r.bdr.sh - rbdr/blog/blobdiff - bin/blog.js
Update README.md
[rbdr/blog] / bin / blog.js
index 3c37f47a9b06046b77512ae177fde3719f732c2a..3f5db43676564a26e86e27f2fdeab98d90e82aee 100755 (executable)
@@ -1,14 +1,21 @@
 #!/usr/bin/env node
-'use strict';
-
-const Package = require('../package.json');
-const Config = require('../config/config');
-const Blog = require('..');
-const Minimist = require('minimist');
+import Config from '../config/config.js';
+import Blog from '../lib/blog.js';
+import Minimist from 'minimist';
 
 const internals = {
   blog: new Blog(Config),
-  expectedKeys: ['add',  'generate', 'update', 'publish', 'version'],
+  expectedKeys: [
+    'add',
+    'generate',
+    'update',
+    'publish',
+    'publish-archive',
+    'add-remote',
+    'remove-remote',
+    'sync-up',
+    'sync-down',
+    'version'],
 
   // Application entry point. Reads arguments and calls the
   // corresponding method from the blog lib
@@ -24,7 +31,7 @@ const internals = {
           const value = parsedArguments[argument];
 
           if (argument === 'version') {
-            console.log(Package.version);
+            console.log('6.0.0');
             return;
           }
 
@@ -47,6 +54,31 @@ const internals = {
             await internals.blog.publish(value);
             return;
           }
+
+          if (argument === 'publish-archive') {
+            await internals.blog.publishArchive(value);
+            return;
+          }
+
+          if (argument === 'add-remote') {
+            await internals.blog.addRemote(value);
+            return;
+          }
+
+          if (argument === 'remove-remote') {
+            await internals.blog.removeRemote();
+            return;
+          }
+
+          if (argument === 'sync-up') {
+            await internals.blog.syncUp();
+            return;
+          }
+
+          if (argument === 'sync-down') {
+            await internals.blog.syncDown();
+            return;
+          }
         }
       }
 
@@ -86,10 +118,15 @@ const internals = {
   _printUsage() {
 
     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\t(updates latest blog post)');
+    console.error('blog --add <path_to_post>\t\t(creates new blog post)');
+    console.error('blog --update <path_to_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\t\t(publishes the blog to an S3 bucket)');
+    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 --add-remote <git_url> \t\t(adds or updates a git remote to sync with)');
+    console.error('blog --remove-remote \t\t\t(removes the git remote)');
+    console.error('blog --sync-up \t\t\t\t(pushes to the git remote if configured)');
+    console.error('blog --sync-down \t\t\t(pulls from the git remote if configured)');
     console.error('blog --version \t\t\t\t(print the version)');
   }
 };