from docutils.parsers.rst import Directive

from sphinx.ext.mathbase import math, displaymath

extensions = ['sphinx.ext.mathjax']


def my_math_role(role, rawtext, text, lineno, inliner, options={}, content=[]):
    return [math(latex='E = mc^2')], []


class MyMathDirective(Directive):
    def run(self):
        return [displaymath(latex='E = mc^2')]


def setup(app):
    app.add_role('my_math', my_math_role)
    app.add_directive('my-math', MyMathDirective)
