katex
Version:
Fast math typesetting for the web.
24 lines (21 loc) • 829 B
JavaScript
import katex from "katex";
let scripts = document.body.getElementsByTagName("script");
scripts = Array.prototype.slice.call(scripts);
scripts.forEach(function(script) {
if (!script.type || !script.type.match(/math\/tex/i)) {
return -1;
}
const display =
(script.type.match(/mode\s*=\s*display(;|\s|\n|$)/) != null);
const katexElement = document.createElement(display ? "div" : "span");
katexElement.setAttribute("class",
display ? "equation" : "inline-equation");
try {
katex.render(script.text, katexElement, {displayMode: display});
} catch (err) {
// eslint-disable-next-line no-console
console.error(err);
katexElement.textContent = script.text;
}
script.parentNode.replaceChild(katexElement, script);
});