Ver Fonte

feat(CLI:flavor): add flavor option to CLI

Add the option to pass a flavor preset to CLI. Ex:
`showdown makehtml --flavor="github"`
Estevao Soares dos Santos há 8 anos atrás
pai
commit
2d6cd1e908
3 ficheiros alterados com 19 adições e 9 exclusões
  1. 1 1
      package.json
  2. 2 3
      src/cli/cli.js
  3. 16 5
      src/cli/makehtml.cmd.js

+ 1 - 1
package.json

@@ -60,6 +60,6 @@
     "source-map-support": "^0.2.9"
   },
   "dependencies": {
-    "yargs": "^3.15.0"
+    "yargs": "^6.6.0"
   }
 }

+ 2 - 3
src/cli/cli.js

@@ -1,10 +1,9 @@
 'use strict';
 
-var version = require('../../package.json').version,
-    yargs = require('yargs');
+var yargs = require('yargs');
 
 yargs
-  .version(version, 'v')
+  .version()
   .alias('v', 'version')
   .option('h', {
     alias: 'help',

+ 16 - 5
src/cli/makehtml.cmd.js

@@ -7,7 +7,12 @@ yargs.reset()
   .usage('Usage: showdown makehtml [options]')
   .example('showdown makehtml -i', 'Reads from stdin and outputs to stdout')
   .example('showdown makehtml -i foo.md -o bar.html', 'Reads \'foo.md\' and writes to \'bar.html\'')
-  //.demand(['i'])
+  .config('c')
+  .alias('c', 'config')
+  .help('h')
+  .alias('h', 'help')
+  .version()
+  .alias('v', 'version')
   .option('i', {
     alias : 'input',
     describe: 'Input source. Usually a md file. If omitted or empty, reads from stdin',
@@ -34,10 +39,11 @@ yargs.reset()
     describe: 'Load the specified extensions. Should be valid paths to node compatible extensions',
     type: 'array'
   })
-  .config('c')
-  .alias('c', 'config')
-  .help('h')
-  .alias('h', 'help');
+  .option('p', {
+    alias : 'flavor',
+    describe: 'Run with a predetermined flavor of options. Default is vanilla',
+    type: 'string'
+  });
 
 yargs.options(showdown.getDefaultOptions(false));
 argv = yargs.argv;
@@ -81,6 +87,11 @@ function run() {
     }
   }
 
+  // Load flavor
+  if (argv.p) {
+    converter.setFlavor(argv.p);
+  }
+
   // parse and convert file
   output = converter.makeHtml(input);