diff options
author | John MacFarlane <jgm@berkeley.edu> | 2017-06-18 11:41:40 +0200 |
---|---|---|
committer | John MacFarlane <jgm@berkeley.edu> | 2017-06-18 11:44:21 +0200 |
commit | ec3992b2f0aef0eefb85bdb693adfd0969126f7d (patch) | |
tree | 3b5d4562f0c5d4d5b8fecebdd10403984b76b51c | |
parent | abd2e94f5a8c1238eebeef9b6edb91b8031507e7 (diff) | |
download | pandoc-ec3992b2f0aef0eefb85bdb693adfd0969126f7d.tar.gz |
Use revealjs's math plugin for mathjax.
This is a thin wrapper around mathjax that makes math look better
on revealjs.
See https://github.com/hakimel/reveal.js/#mathjax
We do this by setting the 'mathjax' boolean variable and
using it in the revealjs template. Also, for revealjs
and mathjax, we don't assign the usual thing to the 'math'
variable, since it's handled by mathjax config.
Closes #3743.
-rw-r--r-- | data/templates/default.revealjs | 13 | ||||
-rw-r--r-- | src/Text/Pandoc/Writers/HTML.hs | 8 |
2 files changed, 18 insertions, 3 deletions
diff --git a/data/templates/default.revealjs b/data/templates/default.revealjs index ac8d6c444..a3f39885e 100644 --- a/data/templates/default.revealjs +++ b/data/templates/default.revealjs @@ -229,15 +229,24 @@ $endif$ $if(maxScale)$ maxScale: $maxScale$, $endif$ +$if(mathjax)$ + math: { + mathjax: 'https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js', + config: 'TeX-AMS_HTML-full', + }, +$endif$ // Optional reveal.js plugins dependencies: [ { src: '$revealjs-url$/lib/js/classList.js', condition: function() { return !document.body.classList; } }, { src: '$revealjs-url$/plugin/zoom-js/zoom.js', async: true }, - $if(notes-server)$ +$if(notes-server)$ { src: '$revealjs-url$/socket.io/socker.io.js', async: true }, { src: '$revealjs-url$/plugin/notes-server/client.js', async: true }, - $endif$ +$endif$ +$if(mathjax)$ + { src: '$revealjs-url$/plugin/math/math.js', async: true }, +$endif$ { src: '$revealjs-url$/plugin/notes/notes.js', async: true } ] }); diff --git a/src/Text/Pandoc/Writers/HTML.hs b/src/Text/Pandoc/Writers/HTML.hs index 7de38f49a..43c098866 100644 --- a/src/Text/Pandoc/Writers/HTML.hs +++ b/src/Text/Pandoc/Writers/HTML.hs @@ -253,7 +253,9 @@ pandocToHtml opts (Pandoc meta blocks) = do H.script ! A.src (toValue url) ! A.type_ "text/javascript" $ mempty - MathJax url -> + MathJax url + | slideVariant /= RevealJsSlides -> + -- mathjax is handled via a special plugin in revealjs H.script ! A.src (toValue url) ! A.type_ "text/javascript" $ case slideVariant of @@ -285,6 +287,10 @@ pandocToHtml opts (Pandoc meta blocks) = do (if stMath st then defField "math" (renderHtml' math) else id) $ + defField "mathjax" + (case writerHTMLMathMethod opts of + MathJax _ -> True + _ -> False) $ defField "quotes" (stQuotes st) $ maybe id (defField "toc" . renderHtml') toc $ defField "author-meta" authsMeta $ |