Source

TracMathJaxPlugin / tracmathjax / tracmathjax.py

Full commit
Kamil Kisiel b847611 






















from trac.core import Component, implements
from trac.web.api import IRequestFilter
from trac.web.chrome import ITemplateProvider, add_script

class TracMathJax(Component):
    implements(ITemplateProvider, IRequestFilter)

    # ITemplateProvider methods
    def get_htdocs_dirs(self):
        mathjax_path = self.config.get('tracmathjax', 'mathjax_path')
        self.log.debug("MathJax path: %s" % mathjax_path)
        return [("MathJax", mathjax_path)]

    def get_templates_dirs(self):
        # we have no templates
        return []

    # IRequestFilter methods
    def pre_process_request(self, req, handler):
        return handler

    def post_process_request(self, req, template, data, content_type):
        add_script(req, "/chrome/MathJax/MathJax.js")
        return template, data, content_type