aboutsummaryrefslogtreecommitdiff
path: root/js/bin/commonmark
blob: e48e05e9699321ee3956b804a4b33482a07826b9 (plain)
  1. #!/usr/bin/env node
  2. "use strict";
  3. var fs = require('fs');
  4. var commonmark = require('../lib/index.js');
  5. var inps = [];
  6. var file;
  7. var files = [];
  8. var options = { sourcepos: false };
  9. var format = 'html';
  10. var i;
  11. for (i = 2; i < process.argv.length; i++) {
  12. var arg = process.argv[i];
  13. if (arg === '--ast') {
  14. format = 'ast';
  15. } else if (arg === '--sourcepos') {
  16. options.sourcepos = true;
  17. } else if (/^--/.test(arg)) {
  18. process.stderr.write('Unknown option ' + arg + '\n');
  19. process.exit(1);
  20. } else {
  21. files.push(arg);
  22. }
  23. }
  24. var parser = new commonmark.DocParser();
  25. var renderer;
  26. if (format === 'html') {
  27. renderer = new commonmark.HtmlRenderer(options);
  28. } else if (format === 'ast') {
  29. renderer = new commonmark.ASTRenderer(options);
  30. renderer.options.colors = true;
  31. }
  32. if (files.length === 0) {
  33. files = ['/dev/stdin'];
  34. }
  35. for (i = 0; i < files.length; i++) {
  36. file = files[i];
  37. inps.push(fs.readFileSync(file, 'utf8'));
  38. }
  39. process.stdout.write(renderer.render(parser.parse(inps.join('\n'))));