blob: 23be036eaf50990726c7e525d899dea20865747b [file] [log] [blame]
Armin Ronacherde478f62007-02-28 22:35:04 +01001# -*- coding: utf-8 -*-
Armin Ronacher58293062008-02-11 15:36:22 +01002"""
3jinja
4~~~~~
5
6Jinja is a `sandboxed`_ template engine written in pure Python. It
7provides a `Django`_ like non-XML syntax and compiles templates into
8executable python code. It's basically a combination of Django templates
9and python code.
10
11Nutshell
12--------
13
14Here a small example of a Jinja template::
15
16 {% extends 'base.html' %}
17 {% block title %}Memberlist{% endblock %}
18 {% block content %}
19 <ul>
20 {% for user in users %}
21 <li><a href="{{ user.url|e }}">{{ user.username|e }}</a></li>
22 {% endfor %}
23 </ul>
24 {% endblock %}
25
26Philosophy
27----------
28
29Application logic is for the controller but don't try to make the life
30for the template designer too hard by giving him too few functionality.
31
32For more informations visit the new `jinja webpage`_ and `documentation`_.
33
34Note
35----
36
37This is the Jinja 1.0 release which is completely incompatible with the
38old "pre 1.0" branch. The old branch will still receive security updates
39and bugfixes but the 1.0 branch will be the only version that receives
40support.
41
42If you have an application that uses Jinja 0.9 and won't be updated in
43the near future the best idea is to ship a Jinja 0.9 checkout together
44with the application.
45
46The `Jinja tip`_ is installable via `easy_install` with ``easy_install
47Jinja==dev``.
48
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
54"""
Armin Ronacher0830e252007-03-22 23:45:30 +010055import os
Armin Ronacherd15a4dc2007-05-28 18:16:16 +020056import sys
Armin Ronacher0830e252007-03-22 23:45:30 +010057import ez_setup
58ez_setup.use_setuptools()
Armin Ronacheree2c18e2007-04-20 22:39:04 +020059
Armin Ronacher4a3038d2008-04-07 18:46:27 +020060from setuptools import setup
Armin Ronacherde478f62007-02-28 22:35:04 +010061
Armin Ronacher0830e252007-03-22 23:45:30 +010062
Armin Ronachere21ced22007-03-22 23:57:10 +010063def list_files(path):
64 for fn in os.listdir(path):
65 if fn.startswith('.'):
66 continue
67 fn = os.path.join(path, fn)
68 if os.path.isfile(fn):
69 yield fn
70
71
Armin Ronacherde478f62007-02-28 22:35:04 +010072setup(
Armin Ronacher4a3038d2008-04-07 18:46:27 +020073 name='Jinja 2',
74 version='2.0dev',
Armin Ronacher015b0c92007-11-11 00:10:17 +010075 url='http://jinja.pocoo.org/',
76 license='BSD',
77 author='Armin Ronacher',
78 author_email='armin.ronacher@active-4.com',
79 description='A small but fast and easy to use stand-alone template '
80 'engine written in pure python.',
Armin Ronacher58293062008-02-11 15:36:22 +010081 long_description = __doc__,
Armin Ronachere21ced22007-03-22 23:57:10 +010082 # jinja is egg safe. But because we distribute the documentation
83 # in form of html and txt files it's a better idea to extract the files
Armin Ronacher015b0c92007-11-11 00:10:17 +010084 zip_safe=False,
85 classifiers=[
Armin Ronacher4a3038d2008-04-07 18:46:27 +020086 'Development Status :: 1 - Alpha',
Armin Ronacherde478f62007-02-28 22:35:04 +010087 'Environment :: Web Environment',
88 'Intended Audience :: Developers',
89 'License :: OSI Approved :: BSD License',
90 'Operating System :: OS Independent',
91 'Programming Language :: Python',
Armin Ronacher8ebf1f92007-03-03 11:22:18 +010092 'Topic :: Internet :: WWW/HTTP :: Dynamic Content',
93 'Topic :: Software Development :: Libraries :: Python Modules',
94 'Topic :: Text Processing :: Markup :: HTML'
95 ],
Armin Ronacher4a3038d2008-04-07 18:46:27 +020096 packages=['jinja2'],
Armin Ronacher015b0c92007-11-11 00:10:17 +010097 data_files=[
Armin Ronacher99e5baa2007-11-17 21:56:19 +010098 ('docs/html', list(list_files('docs/html'))),
Armin Ronacher72bb2572007-03-23 17:24:48 +010099 ('docs/txt', list(list_files('docs/src')))
Armin Ronacher0830e252007-03-22 23:45:30 +0100100 ],
Armin Ronacher4a3038d2008-04-07 18:46:27 +0200101 extras_require={'plugin': ['setuptools>=0.6a2']}
Armin Ronacherde478f62007-02-28 22:35:04 +0100102)