blob: 8141aadfa7ccccb925cba32ba206f2a6ffb6e825 [file] [log] [blame]
Armin Ronacher92f572f2007-02-26 22:17:32 +01001# -*- coding: utf-8 -*-
2"""
Armin Ronacher07bc6842008-03-31 14:18:49 +02003 jinja2
4 ~~~~~~
Armin Ronacherae16fd02007-03-27 21:31:24 +02005
Armin Ronacher203bfcb2008-04-24 21:54:44 +02006 Jinja2 is a template engine written in pure Python. It provides a
7 Django inspired non-XML syntax but supports inline expressions and
8 an optional sandboxed environment.
Armin Ronacherae16fd02007-03-27 21:31:24 +02009
10 Nutshell
11 --------
12
Armin Ronacher203bfcb2008-04-24 21:54:44 +020013 Here a small example of a Jinja2 template::
Armin Ronacherae16fd02007-03-27 21:31:24 +020014
15 {% extends 'base.html' %}
16 {% block title %}Memberlist{% endblock %}
17 {% block content %}
18 <ul>
19 {% for user in users %}
Armin Ronacher203bfcb2008-04-24 21:54:44 +020020 <li><a href="{{ user.url }}">{{ user.username }}</a></li>
Armin Ronacherae16fd02007-03-27 21:31:24 +020021 {% endfor %}
22 </ul>
23 {% endblock %}
24
Armin Ronacherae16fd02007-03-27 21:31:24 +020025
Armin Ronacher203bfcb2008-04-24 21:54:44 +020026 :copyright: 2008 by Armin Ronacher, Christoph Hack.
Armin Ronacher92f572f2007-02-26 22:17:32 +010027 :license: BSD, see LICENSE for more details.
28"""
Armin Ronacher203bfcb2008-04-24 21:54:44 +020029__docformat__ = 'restructuredtext en'
30try:
31 __version__ = __import__('pkg_resources') \
32 .get_distribution('Jinja2').version
33except:
34 __version__ = 'unknown'
35
36# high level interface
37from jinja2.environment import Environment, Template
38
39# loaders
Armin Ronacher9a822052008-04-17 18:44:07 +020040from jinja2.loaders import BaseLoader, FileSystemLoader, PackageLoader, \
Armin Ronacher203bfcb2008-04-24 21:54:44 +020041 DictLoader, FunctionLoader, PrefixLoader, ChoiceLoader
42
43# undefined types
Armin Ronacherc63243e2008-04-14 22:53:58 +020044from jinja2.runtime import Undefined, DebugUndefined, StrictUndefined
Armin Ronacher203bfcb2008-04-24 21:54:44 +020045
46# decorators and public utilities
Armin Ronacherf59bac22008-04-20 13:11:43 +020047from jinja2.filters import environmentfilter, contextfilter
Armin Ronacher203bfcb2008-04-24 21:54:44 +020048from jinja2.utils import Markup, escape, environmentfunction, contextfunction