The complexity has been quite minimal. You npm install one executable, which you run on a HTML file in place, and it’s done. After the npm install, it’s fairly hassle-free after that; you don’t even need to host the webfonts if you don’t want to. We chose to for some additional speed. (It’s not the size, but the latency: an equation here or there will pull in a few fonts which aren’t that big, but the loading of a new domain and reflow take time.) IIRC, over the, I dunno, 6 years that I’ve been using it, there has only been 1 actual bug due to mathjax-node-page: it broke a link in the navbox at the end of pages because the link had no anchor text (AFAICT), which I solved by just sticking in a ZERO WIDTH SPACE. All my other work related to it has been minor optimizations like rehosting the fonts, stripping a bit of unnecessary CSS, adding an optimization setting, etc. Considering how complicated this feature is, that’s quite impressive reliability. Many much simpler features, which deliver far less value, screw up far more regularly than the static MathJax compilation feature does.
The complexity has been quite minimal. You npm install one executable, which you run on a HTML file in place, and it’s done. After the npm install, it’s fairly hassle-free after that; you don’t even need to host the webfonts if you don’t want to. We chose to for some additional speed. (It’s not the size, but the latency: an equation here or there will pull in a few fonts which aren’t that big, but the loading of a new domain and reflow take time.) IIRC, over the, I dunno, 6 years that I’ve been using it, there has only been 1 actual bug due to mathjax-node-page: it broke a link in the navbox at the end of pages because the link had no anchor text (AFAICT), which I solved by just sticking in a ZERO WIDTH SPACE. All my other work related to it has been minor optimizations like rehosting the fonts, stripping a bit of unnecessary CSS, adding an optimization setting, etc. Considering how complicated this feature is, that’s quite impressive reliability. Many much simpler features, which deliver far less value, screw up far more regularly than the static MathJax compilation feature does.