From a1bc760fef3ae9e98f039fa50f31fc2d5eb877a2 Mon Sep 17 00:00:00 2001 From: John MacFarlane Date: Fri, 9 Jan 2015 19:10:24 -0800 Subject: Added options to render, implemented sourcepos option. This adds data-sourcepos attributes on block-level tags in the HTML output. Also added `--sourcepos` command-line option to `js/bin/commonmark`. --- js/bin/commonmark | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) (limited to 'js/bin/commonmark') diff --git a/js/bin/commonmark b/js/bin/commonmark index ac53e6e..72ad344 100755 --- a/js/bin/commonmark +++ b/js/bin/commonmark @@ -6,19 +6,26 @@ var util = require('util'); var commonmark = require('../lib/index.js'); var parser = new commonmark.DocParser(); -var renderer; +var renderer = new commonmark.HtmlRenderer(); var inps = []; var file; var files = []; +var options = { sourcepos: false, }; -if (process.argv[2] === '--ast') { - files = process.argv.slice(3); - renderer = { render: function(x) { - return util.inspect(x.toAST(), null, Infinity, true) + '\n'; - } }; -} else { - files = process.argv.slice(2); - renderer = new commonmark.HtmlRenderer(); +for (var i = 2; i < process.argv.length; i++) { + var arg = process.argv[i]; + if (arg == '--ast') { + renderer = { render: function(x) { + return util.inspect(x.toAST(), null, Infinity, true) + '\n'; + } }; + } else if (arg == '--sourcepos') { + options.sourcepos = true; + } else if (/^--/.test(arg)) { + process.stderr.write('Unknown option ' + arg + '\n'); + process.exit(1); + } else { + files.push(arg); + } } if (files.length === 0) { @@ -30,4 +37,4 @@ for (var i = 0; i < files.length; i++) { inps.push(fs.readFileSync(file, 'utf8')); } -process.stdout.write(renderer.render(parser.parse(inps.join('\n')))); +process.stdout.write(renderer.render(parser.parse(inps.join('\n')), options)); -- cgit v1.2.3