This MathJax wrapper converts Mathematical Markup Language (MML) to Compact Hypertext Markup Language (CHTML). This package doesn't use any webworkers, webviews ; so It can be used for your NodeJS, React and React Native projects.
This project is still in its early development stages.
For any bugs, typos, errors, feel free to open an issue on the associated Github repository.
npm install mml-to-chtml --save
const MMLToCHTML = require("mml-to-chtml");
const myMMLEquation = `<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mi>x</mi> <mo>=</mo>
<mrow>
<mfrac>
<mrow>
<mo>−</mo>
<mi>b</mi>
<mo>±</mo>
<msqrt>
<msup><mi>b</mi><mn>2</mn></msup>
<mo>−</mo>
<mn>4</mn><mi>a</mi><mi>c</mi>
</msqrt>
</mrow>
<mrow> <mn>2</mn><mi>a</mi> </mrow>
</mfrac>
</mrow>
<mtext>.</mtext>
</math>`;
const options = {
width: 1280,
ex: 8,
em: 16,
fontURL: "https://cdn.jsdelivr.net/npm/mathjax@3/es5/output/chtml/fonts/woff-v2"
};
const CHTMLEquation = MMLToCHTML(myMMLEquation, options); // returns <mjx-math display="true" style="margin-left: 0; margin-right: 0" class=" MJX-TEX"><mjx-mi class="mjx-i"><mjx-c class="mjx-c1D465 TEX-I"></mjx-c></mjx-mi> ...
import MMLToCHTML from "mml-to-chtml";
const myMMLEquation = `<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mi>x</mi> <mo>=</mo>
<mrow>
<mfrac>
<mrow>
<mo>−</mo>
<mi>b</mi>
<mo>±</mo>
<msqrt>
<msup><mi>b</mi><mn>2</mn></msup>
<mo>−</mo>
<mn>4</mn><mi>a</mi><mi>c</mi>
</msqrt>
</mrow>
<mrow> <mn>2</mn><mi>a</mi> </mrow>
</mfrac>
</mrow>
<mtext>.</mtext>
</math>`;
const CHTMLEquation = MMLToCHTML(myMMLEquation); // returns <mjx-math display="true" style="margin-left: 0; margin-right: 0" class=" MJX-TEX"><mjx-mi class="mjx-i"><mjx-c class="mjx-c1D465 TEX-I"></mjx-c></mjx-mi> ...
MMLToCHTML(equation, options)
: string The returned Compact Hypertext Markup Language equation
equation
: string The Mathematical Markup Language equation
options
?: object The options of the retuned Compact Hypertext Markup Language
width
?: number The width of container in pixels
ex
?: number The ex-size in pixels
em
?: number The em-size in pixels
fontURL
?: string The URL to use for web fonts
?: = optional parameter
This wrapper is inspired by this project : https://github.com/mathjax/MathJax-demos-node/tree/master/direct.
You DON'T have to install any types @types/mml-to-chtml
.