47 lines
1.5 KiB
Plaintext
47 lines
1.5 KiB
Plaintext
//- Mathjax 3
|
|
script.
|
|
if (!window.MathJax) {
|
|
window.MathJax = {
|
|
tex: {
|
|
inlineMath: [ ['$','$'], ["\\(","\\)"]],
|
|
tags: 'ams'
|
|
},
|
|
chtml: {
|
|
scale: 1.1
|
|
},
|
|
options: {
|
|
renderActions: {
|
|
findScript: [10, doc => {
|
|
for (const node of document.querySelectorAll('script[type^="math/tex"]')) {
|
|
const display = !!node.type.match(/; *mode=display/)
|
|
const math = new doc.options.MathItem(node.textContent, doc.inputJax[0], display)
|
|
const text = document.createTextNode('')
|
|
node.parentNode.replaceChild(text, node)
|
|
math.start = {node: text, delim: '', n: 0}
|
|
math.end = {node: text, delim: '', n: 0}
|
|
doc.math.push(math)
|
|
}
|
|
}, ''],
|
|
insertScript: [200, () => {
|
|
document.querySelectorAll('mjx-container').forEach(node => {
|
|
if (node.hasAttribute('display')) {
|
|
btf.wrap(node, 'div', { class: 'mathjax-overflow' })
|
|
} else {
|
|
btf.wrap(node, 'span', { class: 'mathjax-overflow' })
|
|
}
|
|
});
|
|
}, '', false]
|
|
}
|
|
}
|
|
}
|
|
|
|
const script = document.createElement('script')
|
|
script.src = '!{url_for(theme.asset.mathjax)}'
|
|
script.id = 'MathJax-script'
|
|
script.async = true
|
|
document.head.appendChild(script)
|
|
} else {
|
|
MathJax.startup.document.state(0)
|
|
MathJax.texReset()
|
|
MathJax.typeset()
|
|
} |