Create a gist now

Instantly share code, notes, and snippets.

A simple liquid tag for Jekyll/Octopress that converts {% m %} and {% em %} into inline math, and {% math %} and {% endmath %} into block equations, by replacing with the appropriate MathJax script tags.
module Jekyll
class MathJaxBlockTag < Liquid::Tag
def render(context)
'<script type="math/tex; mode=display">'
class MathJaxInlineTag < Liquid::Tag
def render(context)
'<script type="math/tex">'
class MathJaxEndTag < Liquid::Tag
def render(context)
Liquid::Template.register_tag('math', Jekyll::MathJaxBlockTag)
Liquid::Template.register_tag('m', Jekyll::MathJaxInlineTag)
Liquid::Template.register_tag('endmath', Jekyll::MathJaxEndTag)
Liquid::Template.register_tag('em', Jekyll::MathJaxEndTag)

Can you create a gist for mathjax that adds equation numbers, like 1.1, 1.2 for chapter 1 and 2.1, 2.2 for chapter 2 etc.

bdesham commented Dec 10, 2011

This is way useful, thanks!

ghost commented Feb 29, 2012

Seems a problem: when '&' is used in block equations, it would cause a render error, as '&' is an illegal character in raw string.

xHN35RQ commented Mar 10, 2016

Jekyll's default Markdown renderer has built in mathjax support:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment