22 months ago
Added anothe test
| blackbird@10 | 1 | # -*- coding: utf-8 -*- |
| mitsuhiko@282 | 2 | """ |
| mitsuhiko@375 | 3 | Jinja2 |
| mitsuhiko@375 | 4 | ~~~~~~ |
| mitsuhiko@282 | 5 | |
| mitsuhiko@375 | 6 | Jinja2 is a template engine written in pure Python. It provides a |
| mitsuhiko@375 | 7 | `Django`_ inspired non-XML syntax but supports inline expressions and |
| mitsuhiko@375 | 8 | an optional `sandboxed`_ environment. |
| mitsuhiko@282 | 9 | |
| mitsuhiko@282 | 10 | Nutshell |
| mitsuhiko@282 | 11 | -------- |
| mitsuhiko@282 | 12 | |
| mitsuhiko@282 | 13 | Here a small example of a Jinja template:: |
| mitsuhiko@282 | 14 | |
| mitsuhiko@282 | 15 | {% extends 'base.html' %} |
| mitsuhiko@282 | 16 | {% block title %}Memberlist{% endblock %} |
| mitsuhiko@282 | 17 | {% block content %} |
| mitsuhiko@282 | 18 | <ul> |
| mitsuhiko@282 | 19 | {% for user in users %} |
| mitsuhiko@375 | 20 | <li><a href="{{ user.url }}">{{ user.username }}</a></li> |
| mitsuhiko@282 | 21 | {% endfor %} |
| mitsuhiko@282 | 22 | </ul> |
| mitsuhiko@282 | 23 | {% endblock %} |
| mitsuhiko@282 | 24 | |
| mitsuhiko@282 | 25 | Philosophy |
| mitsuhiko@282 | 26 | ---------- |
| mitsuhiko@282 | 27 | |
| mitsuhiko@282 | 28 | Application logic is for the controller but don't try to make the life |
| mitsuhiko@282 | 29 | for the template designer too hard by giving him too few functionality. |
| mitsuhiko@282 | 30 | |
| mitsuhiko@518 | 31 | For more informations visit the new `Jinja2 webpage`_ and `documentation`_. |
| mitsuhiko@282 | 32 | |
| mitsuhiko@375 | 33 | The `Jinja2 tip`_ is installable via `easy_install` with ``easy_install |
| mitsuhiko@375 | 34 | Jinja2==dev``. |
| mitsuhiko@282 | 35 | |
| mitsuhiko@282 | 36 | .. _sandboxed: http://en.wikipedia.org/wiki/Sandbox_(computer_security) |
| mitsuhiko@282 | 37 | .. _Django: http://www.djangoproject.com/ |
| mitsuhiko@518 | 38 | .. _Jinja2 webpage: http://jinja.pocoo.org/ |
| mitsuhiko@516 | 39 | .. _documentation: http://jinja.pocoo.org/2/documentation/ |
| mitsuhiko@516 | 40 | .. _Jinja2 tip: http://dev.pocoo.org/hg/jinja2-main/archive/tip.tar.gz#egg=Jinja2-dev |
| mitsuhiko@282 | 41 | """ |
| blackbird@93 | 42 | import os |
| blackbird@178 | 43 | import sys |
| blackbird@147 | 44 | |
| mitsuhiko@363 | 45 | from setuptools import setup, Extension, Feature |
| blackbird@10 | 46 | |
| mitsuhiko@712 | 47 | # tell distribute to use 2to3 with our own fixers. |
| mitsuhiko@712 | 48 | extra = {} |
| mitsuhiko@712 | 49 | if sys.version_info >= (3, 0): |
| mitsuhiko@712 | 50 | extra.update( |
| mitsuhiko@712 | 51 | use_2to3=True, |
| mitsuhiko@712 | 52 | use_2to3_fixers=['custom_fixers'] |
| mitsuhiko@712 | 53 | ) |
| mitsuhiko@711 | 54 | |
| blackbird@93 | 55 | |
| blackbird@10 | 56 | setup( |
| mitsuhiko@375 | 57 | name='Jinja2', |
| mitsuhiko@820 | 58 | version='2.5.1', |
| mitsuhiko@256 | 59 | url='http://jinja.pocoo.org/', |
| mitsuhiko@256 | 60 | license='BSD', |
| mitsuhiko@256 | 61 | author='Armin Ronacher', |
| mitsuhiko@256 | 62 | author_email='armin.ronacher@active-4.com', |
| mitsuhiko@256 | 63 | description='A small but fast and easy to use stand-alone template ' |
| mitsuhiko@256 | 64 | 'engine written in pure python.', |
| mitsuhiko@363 | 65 | long_description=__doc__, |
| mitsuhiko@668 | 66 | # jinja is egg safe. But we hate eggs |
| mitsuhiko@256 | 67 | zip_safe=False, |
| mitsuhiko@256 | 68 | classifiers=[ |
| mitsuhiko@553 | 69 | 'Development Status :: 5 - Production/Stable', |
| blackbird@10 | 70 | 'Environment :: Web Environment', |
| blackbird@10 | 71 | 'Intended Audience :: Developers', |
| blackbird@10 | 72 | 'License :: OSI Approved :: BSD License', |
| blackbird@10 | 73 | 'Operating System :: OS Independent', |
| blackbird@10 | 74 | 'Programming Language :: Python', |
| mitsuhiko@735 | 75 | 'Programming Language :: Python :: 3', |
| blackbird@18 | 76 | 'Topic :: Internet :: WWW/HTTP :: Dynamic Content', |
| blackbird@18 | 77 | 'Topic :: Software Development :: Libraries :: Python Modules', |
| blackbird@18 | 78 | 'Topic :: Text Processing :: Markup :: HTML' |
| blackbird@18 | 79 | ], |
| mitsuhiko@721 | 80 | packages=['jinja2', 'jinja2.testsuite', 'jinja2.testsuite.res'], |
| mitsuhiko@363 | 81 | features={ |
| mitsuhiko@363 | 82 | 'speedups': Feature("optional C speed-enhancements", |
| mitsuhiko@671 | 83 | standard=False, |
| mitsuhiko@363 | 84 | ext_modules=[ |
| mitsuhiko@363 | 85 | Extension('jinja2._speedups', ['jinja2/_speedups.c']) |
| mitsuhiko@363 | 86 | ] |
| mitsuhiko@363 | 87 | ) |
| mitsuhiko@363 | 88 | }, |
| mitsuhiko@372 | 89 | extras_require={'i18n': ['Babel>=0.8']}, |
| mitsuhiko@713 | 90 | test_suite='jinja2.testsuite.suite', |
| mitsuhiko@726 | 91 | include_package_data=True, |
| mitsuhiko@369 | 92 | entry_points=""" |
| mitsuhiko@369 | 93 | [babel.extractors] |
| mitsuhiko@480 | 94 | jinja2 = jinja2.ext:babel_extract[i18n] |
| mitsuhiko@711 | 95 | """, |
| mitsuhiko@712 | 96 | **extra |
| blackbird@10 | 97 | ) |