diff options
author | Holger Levsen <holger@layer-acht.org> | 2016-11-24 02:01:54 +0100 |
---|---|---|
committer | Holger Levsen <holger@layer-acht.org> | 2016-11-24 02:01:54 +0100 |
commit | e9fa05b0a068fde0197ea01f2ff31e2513b7965f (patch) | |
tree | bcea53e8c377b330fb5cda1e1cc47e15c147e1d3 /presentations/2016-11-30-Profitbricks/plugin/math/math.js | |
parent | 33db20cf1eacb112a71657056e02b984649690d5 (diff) | |
download | jenkins.debian.net-e9fa05b0a068fde0197ea01f2ff31e2513b7965f.tar.xz |
copied from git.debian.org/git/reproducible/presentations.git / 2016-11-13-MiniDebConfCambridge there, Copyright & thanks to Chris Lamb
Signed-off-by: Holger Levsen <holger@layer-acht.org>
Diffstat (limited to 'presentations/2016-11-30-Profitbricks/plugin/math/math.js')
-rwxr-xr-x | presentations/2016-11-30-Profitbricks/plugin/math/math.js | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/presentations/2016-11-30-Profitbricks/plugin/math/math.js b/presentations/2016-11-30-Profitbricks/plugin/math/math.js new file mode 100755 index 00000000..c0a691d3 --- /dev/null +++ b/presentations/2016-11-30-Profitbricks/plugin/math/math.js @@ -0,0 +1,67 @@ +/** + * A plugin which enables rendering of math equations inside + * of reveal.js slides. Essentially a thin wrapper for MathJax. + * + * @author Hakim El Hattab + */ +var RevealMath = window.RevealMath || (function(){ + + var options = Reveal.getConfig().math || {}; + options.mathjax = options.mathjax || 'https://cdn.mathjax.org/mathjax/latest/MathJax.js'; + options.config = options.config || 'TeX-AMS_HTML-full'; + + loadScript( options.mathjax + '?config=' + options.config, function() { + + MathJax.Hub.Config({ + messageStyle: 'none', + tex2jax: { + inlineMath: [['$','$'],['\\(','\\)']] , + skipTags: ['script','noscript','style','textarea','pre'] + }, + skipStartupTypeset: true + }); + + // Typeset followed by an immediate reveal.js layout since + // the typesetting process could affect slide height + MathJax.Hub.Queue( [ 'Typeset', MathJax.Hub ] ); + MathJax.Hub.Queue( Reveal.layout ); + + // Reprocess equations in slides when they turn visible + Reveal.addEventListener( 'slidechanged', function( event ) { + + MathJax.Hub.Queue( [ 'Typeset', MathJax.Hub, event.currentSlide ] ); + + } ); + + } ); + + function loadScript( url, callback ) { + + var head = document.querySelector( 'head' ); + var script = document.createElement( 'script' ); + script.type = 'text/javascript'; + script.src = url; + + // Wrapper for callback to make sure it only fires once + var finish = function() { + if( typeof callback === 'function' ) { + callback.call(); + callback = null; + } + } + + script.onload = finish; + + // IE + script.onreadystatechange = function() { + if ( this.readyState === 'loaded' ) { + finish(); + } + } + + // Normal browsers + head.appendChild( script ); + + } + +})(); |