1 # -*- coding: utf-8 -*-
6 Jinja is a `sandboxed`_ template engine written in pure Python. It
7 provides a `Django`_ like non-XML syntax and compiles templates into
8 executable python code. It's basically a combination of Django templates
14 Here a small example of a Jinja template::
16 {% extends 'base.html' %}
17 {% block title %}Memberlist{% endblock %}
20 {% for user in users %}
21 <li><a href="{{ user.url|e }}">{{ user.username|e }}</a></li>
29 Application logic is for the controller but don't try to make the life
30 for the template designer too hard by giving him too few functionality.
32 For more informations visit the new `jinja webpage`_ and `documentation`_.
37 This is the Jinja 1.0 release which is completely incompatible with the
38 old "pre 1.0" branch. The old branch will still receive security updates
39 and bugfixes but the 1.0 branch will be the only version that receives
42 If you have an application that uses Jinja 0.9 and won't be updated in
43 the near future the best idea is to ship a Jinja 0.9 checkout together
46 The `Jinja tip`_ is installable via `easy_install` with ``easy_install
49 .. _sandboxed: http://en.wikipedia.org/wiki/Sandbox_(computer_security)
50 .. _Django: http://www.djangoproject.com/
51 .. _jinja webpage: http://jinja.pocoo.org/
52 .. _documentation: http://jinja.pocoo.org/documentation/index.html
53 .. _Jinja tip: http://dev.pocoo.org/hg/jinja-main/archive/tip.tar.gz#egg=Jinja-dev
56 :copyright: 2008 by Armin Ronacher.
57 :license: BSD, see LICENSE for more details.
59 from jinja2.environment import Environment
60 from jinja2.loaders import BaseLoader, FileSystemLoader, PackageLoader, \
62 from jinja2.runtime import Undefined, DebugUndefined, StrictUndefined
63 from jinja2.filters import environmentfilter, contextfilter
64 from jinja2.utils import Markup, escape, contextfunction