module.exports = plugin; function plugin(){ var mjAPI = require("mathjax-node/lib/mj-page.js"); var renderOneTex = function(file, cnt) { // console.log(file) mjAPI.typeset({ html: file.contents, renderer: "NativeMML", inputs: ["TeX"], xmlns: "mml", singleDollars: true }, function(result) { "use strict"; file.contents = new Buffer(result.html) cnt.count --; if(cnt.count <= 0){ cnt.done() } }); } mjAPI.start(); return function renderTeX(files, smith, done) { var cnt = { count: 1, done: done }; for(f in files){ cnt.count ++; renderOneTex(files[f], cnt); } cnt.count --; if(cnt.count <= 0){ cnt.done() } } }