From 1748a29ff3b7cbbe72616d82f00063ac164942f9 Mon Sep 17 00:00:00 2001 From: Hakim El Hattab Date: Mon, 12 Aug 2013 09:21:38 -0400 Subject: [PATCH] first version of mathjax plugin #531 --- examples/math.html | 68 +++++++++++++++++++++++++++++++++++++++++++++ plugin/math/math.js | 37 ++++++++++++++++++++++++ 2 files changed, 105 insertions(+) create mode 100644 examples/math.html create mode 100755 plugin/math/math.js diff --git a/examples/math.html b/examples/math.html new file mode 100644 index 00000000..413d1690 --- /dev/null +++ b/examples/math.html @@ -0,0 +1,68 @@ + + + + + + + reveal.js - The HTML Presentation Framework + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+

Reveal.js Math Plugin

+
+ +
+ \[\begin{aligned} + \dot{x} & = \sigma(y-x) \\ + \dot{y} & = \rho x - y - xz \\ + \dot{z} & = -\beta z + xy + \end{aligned} \] +
+ +
+ +
+ + + + + + + + diff --git a/plugin/math/math.js b/plugin/math/math.js new file mode 100755 index 00000000..3efe321f --- /dev/null +++ b/plugin/math/math.js @@ -0,0 +1,37 @@ +/** + * A plugin which enables rendering of math equations inside + * of reveal.js slides. Essentially a thin wrapper for MathJax. + * + * @author Hakim El Hattab + */ +(function(){ + + var head = document.querySelector( 'head' ); + var script = document.createElement( 'script' ); + script.type = 'text/javascript'; + script.src = 'http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_SVG-full'; + + // Detect when the script has loaded + script.onload = onScriptLoad; + script.onreadystatechange = function() { + if ( this.readyState === 'loaded' ) { + onScriptLoad.call(); + } + } + + head.appendChild( script ); + + function onScriptLoad() { + + MathJax.Hub.Config({ + messageStyle: 'none', + tex2jax: { inlineMath: [['$','$'],['\\(','\\)']] } + }); + + Reveal.addEventListener( 'slidechanged', function( event ) { + MathJax.Hub.Rerender(); + } ); + + } + +})();