diff --git a/_vendors.yml b/_vendors.yml index bf74db6..d6e284b 100644 --- a/_vendors.yml +++ b/_vendors.yml @@ -27,9 +27,9 @@ prism_line_numbers: integrity: sha256-9cmf7tcLdXpKsPi/2AWE93PbZpTp4M4tqzFk+lWomjU= mathjax: name: mathjax - version: 3.2.2 - file: es5/tex-mml-chtml.js - integrity: sha256-MASABpB4tYktI2Oitl4t+78w/lyA+D7b/s9GEP0JOGI= + version: 4.1.3 + file: tex-mml-chtml.js + integrity: sha256-ihPtDDm7pTmSF9ViEsItlvsrBTsNkz0MOXMchzOwCQw= katex: name: katex version: 0.16.9 diff --git a/layout/_third-party/math/mathjax.njk b/layout/_third-party/math/mathjax.njk index a20bb8b..fba4480 100644 --- a/layout/_third-party/math/mathjax.njk +++ b/layout/_third-party/math/mathjax.njk @@ -1,4 +1,5 @@ {{ next_data('mathjax', theme.math.mathjax, { - js: theme.vendors.mathjax + js: theme.vendors.mathjax, + font_path: theme.vendors.mathjax_font_path }) }} {{ next_js('third-party/math/mathjax.js') }} diff --git a/scripts/events/lib/vendors.js b/scripts/events/lib/vendors.js index af94fb4..c34c82e 100644 --- a/scripts/events/lib/vendors.js +++ b/scripts/events/lib/vendors.js @@ -57,5 +57,10 @@ module.exports = hexo => { // Omit integrity for local assets. integrity: plugins === 'local' ? undefined : value.integrity }; + if (key === 'mathjax') { + vendors.mathjax_font_path = plugins === 'local' + ? url_for.call(hexo, 'lib/@mathjax/mathjax-newcm-font') + : undefined; + } } }; diff --git a/source/js/third-party/math/mathjax.js b/source/js/third-party/math/mathjax.js index fe4d448..486f18c 100644 --- a/source/js/third-party/math/mathjax.js +++ b/source/js/third-party/math/mathjax.js @@ -20,7 +20,10 @@ document.addEventListener('page:loaded', () => { }); }, '', false] } - } + }, + output: CONFIG.mathjax.font_path ? { + fontPath: CONFIG.mathjax.font_path + } : {} }; NexT.utils.getScript(CONFIG.mathjax.js, { attributes: {