summaryrefslogtreecommitdiff
path: root/js/bin/commonmark
blob: 72ad34493eda5391541f86e111a3c13d0de3768b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#!/usr/bin/env node
"use strict";

var fs = require('fs');
var util = require('util');
var commonmark = require('../lib/index.js');

var parser = new commonmark.DocParser();
var renderer = new commonmark.HtmlRenderer();
var inps = [];
var file;
var files = [];
var options = { sourcepos: false, };

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) {
  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')), options));