cmark

Unnamed repository; edit this file 'description' to name the repository.

commit 80b09d9552e57011c849fc305553501611b3079d
parent 0ed2541d6dc3ff31126915c6ea59d92f0c23acd1
Author: John MacFarlane <jgm@berkeley.edu>
Date:   Fri, 24 Oct 2014 21:18:00 -0700

js/bin/markdown:  added `--ast` flag and multiple filename args.

Diffstat:
Mjs/bin/markdown | 38++++++++++++++++++++++++++++----------
1 file changed, 28 insertions(+), 10 deletions(-)
diff --git a/js/bin/markdown b/js/bin/markdown
@@ -3,13 +3,31 @@ var fs = require('fs');
 var util = require('util');
 var commonmark = require('../lib/index.js');
 
-file = process.argv[2] || '/dev/stdin';
-
-fs.readFile(file, 'utf8', function(err, data) {
-  if (err) {
-    return console.log(err);
-  }
-  var parser   = new commonmark.DocParser();
-  var renderer = new commonmark.HtmlRenderer();
-  process.stdout.write(renderer.render(parser.parse(data)));
-});
+var parser   = new commonmark.DocParser();
+var renderer;
+var inps = [];
+
+var output_ast = false;
+var files = [];
+
+if (process.argv[2] === '--ast') {
+  output_ast = true;
+  files = process.argv.slice(3);
+  renderer = { render: function(x) {
+                          return util.inspect(x, null, Infinity) + '\n';
+                        } };
+} else {
+  files = process.argv.slice(2);
+  renderer = new commonmark.HtmlRenderer();
+}
+
+if (files.length === 0) {
+  files = ['/dev/stdin'];
+}
+
+for (var i = 0; i < files.length; i++) {
+  file = files[i];
+  inps.push(fs.readFileSync(file, 'utf8'));
+}
+
+process.stdout.write(renderer.render(parser.parse(inps.join('\n'))));