This is gulp plug-in wrapper around mathjax-node-page. The plug-in is generated by gulp-plugin-fabric.
The @romars/mathjax-node-page fork of mathjax-node-page is used in this plug-in, which got ahead of initial project and addressed some of the known issues. See this pull-request for more detail. You can always create your own plug-in with a different verison using gulp-plugin-fabric if you prefer.
Pass config options mjpageConfig
and mjnodeConfig
to the plug-in function (mathjax
in example below).
The options are documented in Usage section on the source project page.
const mathjax = require('gulp-mathjax-page');
// pass settings to mathjax-node-page
// leave empty for defaults
const options = {
mjpageConfig: {},
mjnodeConfig: {}
}
gulp.src('.')
.pipe(mathjax(options))
.pipe(gulp.dest('out'));
The plug-in's options
object has additional options for advanced usage.
See Advanced usage section of source project for more detail.
const options = {
mjpageConfig: {},
mjnodeConfig: {},
eventHandlers: { // map of handlers for mjpage events (optional)
'afterConversion': (parsedFormula) => {
console.log(parsedFormula.sourceFormula);
}
},
mjnode: require('mathjax-node-svg2png'), // pass custom mathjax-node (optional)
outputHandlers: { // map of output handlers (optional)
'png': (wrapper, data) => {
wrapper.innerHTML = `<img src="${data}">`;
}
}
};
The plug-in exposes mjpage
object in case you need any other customizations.
const mathjax = require('gulp-mathjax-page');
// use mathjax.mjpage to modify underlying mathjax-node-page behavior
const mjpage = mathjax.mjpage;
// ...
// use in gulp as before