To those who need Mathjax support on nodebb. Now the dynamic rendering works:
- Include this in the header:
<script>
window.MathJax = {
tex: {
inlineMath: [['$','$'], ['\\(','\\)']],
tags: "ams",
macros: {
ra: "{\\rm a}",
rb: "{\\rm b}",
rD: "{\\rm D}",
cell: "{\\rm cell}",
drag: "{\\rm drag}",
lift: "{\\rm lift}",
turb: "{\\rm turb}",
rd: "{\\rm d}",
buo: "{\\rm buo}",
rc: "{\\rm c}",
rN: "{\\rm N}",
tr: "{\\rm tr}",
dev: "{\\rm dev}",
mag: "{\\rm mag}",
max: "{\\rm max}",
min: "{\\rm min}",
rleft: "{\\rm left}",
wall: "{\\rm wall}",
outlet: "{\\rm outlet}",
inlet: "{\\rm inlet}",
rright: "{\\rm right}",
own: "{\\rm own}",
nei: "{\\rm nei}",
exp: "{\\rm exp}",
rq: "{\\rm q}",
rref: "{\\rm ref}",
rE: "{\\rm E}",
bfH: "{\\bf H}",
dpm: "{\\rm dpm}",
rT: "{\\rm T}",
rP: "{\\rm P}",
rgh: "{\\rm rgh}",
rL: "{\\rm L}",
rR: "{\\rm R}",
Kd: "{\\rm Kd}",
rr: "{\\rm r}",
rW: "{\\rm W}",
bfU: "{\\bf U}",
bfh: "{\\bf h}",
bfHbyA: "{\\bf HbyA}",
bfS: "{\\bf S}",
bfg: "{\\bf g}",
bfT: "{\\bf T}",
bfV: "{\\bf V}",
bfd: "{\\bf d}",
bfI: "{\\bf I}",
bfK: "{\\bf K}",
bfA: "{\\bf A}",
bfn: "{\\bf n}",
bfR: "{\\bf R}",
bfM: "{\\bf M}",
bfx: "{\\bf x}",
bfX: "{\\bf X}",
bfF: "{\\bf F}",
bfq: "{\\bf q}",
dt: "{\\Delta t}",
p: "{\\partial}" // this macro has an optional parameter that defaults to 'x' \ddx[t]{y}
},
autoload: {
color: [],
colorV2: ['color'],
verb: ['verb']
},
packages: {'[+]': ['verb']}
},
options: {
skipHtmlTags: ["<pre>","<span>","<code>"],
ignoreHtmlClass: 'tex2jax_ignore',
processHtmlClass: 'tex2jax_process'
},
loader: {
load: ['[tex]/verb']
},
startup: {
ready: () => {
MathJax.startup.defaultReady();
MathJax.startup.promise.then(() => {
console.log('MathJax initial typesetting complete');
});
}
}
};
(function () {
var script = document.createElement('script');
script.src = 'https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-svg.js';
script.async = true;
document.head.appendChild(script);
})();
</script>
- Include the following to Javascript
$(window).on('action:posts.loaded action:ajaxify.end action:composer.preview', function () {
MathJax.startup.defaultReady();
MathJax.startup.promise.then(() => {
console.log('MathJax initial typesetting complete');
});
});