blob: 2284f2ebdd881ab63a8cc0735c82a2bc5164d83e [file] [log] [blame]
Armin Ronacherde478f62007-02-28 22:35:04 +01001# -*- coding: utf-8 -*-
Armin Ronacher58293062008-02-11 15:36:22 +01002"""
Armin Ronacher203bfcb2008-04-24 21:54:44 +02003Jinja2
4~~~~~~
Armin Ronacher58293062008-02-11 15:36:22 +01005
Armin Ronacher203bfcb2008-04-24 21:54:44 +02006Jinja2 is a template engine written in pure Python. It provides a
7`Django`_ inspired non-XML syntax but supports inline expressions and
8an optional `sandboxed`_ environment.
Armin Ronacher58293062008-02-11 15:36:22 +01009
10Nutshell
11--------
12
13Here a small example of a Jinja template::
14
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 Ronacher58293062008-02-11 15:36:22 +010021 {% endfor %}
22 </ul>
23 {% endblock %}
24
25Philosophy
26----------
27
28Application logic is for the controller but don't try to make the life
29for the template designer too hard by giving him too few functionality.
30
Armin Ronacherf4e1fb42008-06-09 18:54:56 +020031For more informations visit the new `Jinja2 webpage`_ and `documentation`_.
Armin Ronacher58293062008-02-11 15:36:22 +010032
Armin Ronacher203bfcb2008-04-24 21:54:44 +020033The `Jinja2 tip`_ is installable via `easy_install` with ``easy_install
34Jinja2==dev``.
Armin Ronacher58293062008-02-11 15:36:22 +010035
36.. _sandboxed: http://en.wikipedia.org/wiki/Sandbox_(computer_security)
37.. _Django: http://www.djangoproject.com/
Armin Ronacherf4e1fb42008-06-09 18:54:56 +020038.. _Jinja2 webpage: http://jinja.pocoo.org/
Armin Ronacher1a12c8a2008-06-09 18:49:14 +020039.. _documentation: http://jinja.pocoo.org/2/documentation/
40.. _Jinja2 tip: http://dev.pocoo.org/hg/jinja2-main/archive/tip.tar.gz#egg=Jinja2-dev
Armin Ronacher58293062008-02-11 15:36:22 +010041"""
Armin Ronacher0830e252007-03-22 23:45:30 +010042import os
Armin Ronacherd15a4dc2007-05-28 18:16:16 +020043import sys
Armin Ronacheree2c18e2007-04-20 22:39:04 +020044
Armin Ronacherbd33f112008-04-18 09:17:32 +020045from setuptools import setup, Extension, Feature
46from distutils.command.build_ext import build_ext
47from distutils.errors import CCompilerError, DistutilsPlatformError
Armin Ronacherde478f62007-02-28 22:35:04 +010048
Armin Ronacher0830e252007-03-22 23:45:30 +010049
Armin Ronacherde478f62007-02-28 22:35:04 +010050setup(
Armin Ronacher203bfcb2008-04-24 21:54:44 +020051 name='Jinja2',
Armin Ronacher86b5cb52009-09-13 00:23:27 -070052 version='2.2',
Armin Ronacher015b0c92007-11-11 00:10:17 +010053 url='http://jinja.pocoo.org/',
54 license='BSD',
55 author='Armin Ronacher',
56 author_email='armin.ronacher@active-4.com',
57 description='A small but fast and easy to use stand-alone template '
58 'engine written in pure python.',
Armin Ronacherbd33f112008-04-18 09:17:32 +020059 long_description=__doc__,
Armin Ronacher86b5cb52009-09-13 00:23:27 -070060 # jinja is egg safe. But we hate eggs
Armin Ronacher015b0c92007-11-11 00:10:17 +010061 zip_safe=False,
62 classifiers=[
Armin Ronachera9d59222008-07-18 00:41:37 +020063 'Development Status :: 5 - Production/Stable',
Armin Ronacherde478f62007-02-28 22:35:04 +010064 'Environment :: Web Environment',
65 'Intended Audience :: Developers',
66 'License :: OSI Approved :: BSD License',
67 'Operating System :: OS Independent',
68 'Programming Language :: Python',
Armin Ronacher8ebf1f92007-03-03 11:22:18 +010069 'Topic :: Internet :: WWW/HTTP :: Dynamic Content',
70 'Topic :: Software Development :: Libraries :: Python Modules',
71 'Topic :: Text Processing :: Markup :: HTML'
72 ],
Armin Ronacher4a3038d2008-04-07 18:46:27 +020073 packages=['jinja2'],
Armin Ronacher58f351d2008-05-28 21:30:14 +020074 data_files=data_files,
Armin Ronacherbd33f112008-04-18 09:17:32 +020075 features={
76 'speedups': Feature("optional C speed-enhancements",
77 standard=True,
78 ext_modules=[
79 Extension('jinja2._speedups', ['jinja2/_speedups.c'])
80 ]
81 )
82 },
Armin Ronacher2b60fe52008-04-21 08:23:59 +020083 extras_require={'i18n': ['Babel>=0.8']},
Armin Ronacherf59bac22008-04-20 13:11:43 +020084 entry_points="""
85 [babel.extractors]
Armin Ronacher7962ce72008-05-20 17:52:52 +020086 jinja2 = jinja2.ext:babel_extract[i18n]
Armin Ronacherf59bac22008-04-20 13:11:43 +020087 """
Armin Ronacherde478f62007-02-28 22:35:04 +010088)