From 4e1c05f5ecf26322560c40c7517a3ff32cfeb651 Mon Sep 17 00:00:00 2001 From: vrouvrea Date: Tue, 16 May 2017 11:22:05 +0000 Subject: Add MathJax for distribution git-svn-id: svn+ssh://scm.gforge.inria.fr/svnroot/gudhi/branches/doxygen_using_mathjax@2432 636b058d-ea47-450e-bf9e-a15bfbe3eedb Former-commit-id: c0f73996dfdfe217ae2dfc2250e7866d680ae1f7 --- src/common/doc/MathJax.js | 53 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 src/common/doc/MathJax.js (limited to 'src/common/doc/MathJax.js') diff --git a/src/common/doc/MathJax.js b/src/common/doc/MathJax.js new file mode 100644 index 00000000..35e1994e --- /dev/null +++ b/src/common/doc/MathJax.js @@ -0,0 +1,53 @@ +(function () { + var newMathJax = 'https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js'; + var oldMathJax = 'cdn.mathjax.org/mathjax/latest/MathJax.js'; + + var replaceScript = function (script, src) { + // + // Make redirected script + // + var newScript = document.createElement('script'); + newScript.src = newMathJax + src.replace(/.*?(\?|$)/, '$1'); + // + // Move onload and onerror handlers to new script + // + newScript.onload = script.onload; + newScript.onerror = script.onerror; + script.onload = script.onerror = null; + // + // Move any content (old-style configuration scripts) + // + while (script.firstChild) newScript.appendChild(script.firstChild); + // + // Copy script id + // + if (script.id != null) newScript.id = script.id; + // + // Replace original script with new one + // + script.parentNode.replaceChild(newScript, script); + // + // Issue a console warning + // + console.warn('WARNING: cdn.mathjax.org has been retired. Check https://www.mathjax.org/cdn-shutting-down/ for migration tips.') + } + + if (document.currentScript) { + var script = document.currentScript; + replaceScript(script, script.src); + } else { + // + // Look for current script by searching for one with the right source + // + var n = oldMathJax.length; + var scripts = document.getElementsByTagName('script'); + for (var i = 0; i < scripts.length; i++) { + var script = scripts[i]; + var src = (script.src || '').replace(/.*?:\/\//,''); + if (src.substr(0, n) === oldMathJax) { + replaceScript(script, src); + break; + } + } + } +})(); \ No newline at end of file -- cgit v1.2.3