class Jinja2(object):
def __init__(self):
import jinja2
self.j2env = jinja2.Environment()
self.j2env.filters["latex"] = lambda x: latex(x)
def __call__(self, *args, **kwds):
if len(kwds) > 0 and len(args) == 0:
return Jinja2(**kwds)
if len(args) > 0:
self._render(args[0], **kwds)
def _render(self, cell):
tmpl = self.j2env.from_string(cell)
out = tmpl.render(**globals())
salvus.md(out)
jinja2 = Jinja2()