Esempio n. 1
0
// Exports
// -------

// Parse `input` as Markdown, as executes the code in every fenced code block
// in order. Returns the value of the last expression in the last block.
function evaluate(input, filename, optConfig) {
  var ast = parser.parse(input);
  var walker = walk('children');
  var config = defaults(optConfig || {}, DEFAULT_CONFIG);

  var env = new Environment(filename, config);
  var result;
  var script = '';
  walker.preorder(ast, function(node, key, parent) {
    var contents = getExecutableContents(node);
    if (contents) script += contents;
  });
  if (script) {
    var cwd = process.cwd();
    if (config.workingDir !== cwd) {
      process.chdir(config.workingDir);
    }
    result = vm.runInNewContext(script, env, filename);
    process.chdir(cwd);
  }
  return result;
}
Esempio n. 2
0
function toHTML(markdown) {
  return writer.render(reader.parse(markdown))
}
Esempio n. 3
0
exports.run = function(data) {
  return renderer.render(parser.parse(data));
}
Esempio n. 4
0
export default (markdown) => writer.render(reader.parse(markdown))