Commits

Kamil Kisiel committed b847611

Initial commit of TracMathJaxPlugin. Basic functionality works.

  • Participants

Comments (0)

Files changed (4)

+^.*.egg-info$
+^.*\.pyc$
+^.*\.pyo$
+from setuptools import find_packages, setup
+
+setup(
+    name='TracMathJax', version='0.1',
+    author="Kamil Kisiel",
+    author_email="kamil@kamilkisiel.net",
+    packages=find_packages(exclude=['*.tests*']),
+    entry_points="""
+    [trac.plugins]
+    tracmathjax = tracmathjax
+    """,
+)

tracmathjax/__init__.py

+from tracmathjax import *

tracmathjax/tracmathjax.py

+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