Added basic section on Chameleon

This commit is contained in:
Michael R. Bernstein
2014-12-02 09:50:02 -06:00
parent ec1cbf4dad
commit fa446e1f12
+37
View File
@@ -414,7 +414,44 @@ into the corresponding block in the :file:`base.html` page.
</p>
{% endblock %}
Chameleon
---------
`Chameleon <https://chameleon.readthedocs.org/>`_ is a template engine which is similar to
the Chameleon is an HTML/XML template engine for Python.
Its designed to generate the document output of a web application, typically HTML markup or XML.
The language used is page templates, originally a Zope invention [1], but available here as a standalone library that you can use in any script or application running Python 2.5 and up (including 3.x and pypy). It comes with a set of new features, too.
The template engine compiles templates into Python byte-code and is optimized for speed. For a complex template language, the performance is very good.
Here is an example of a template tags in Chameloen:
The *page templates* language is used within your document structure
as special element attributes and text markup. Using a set of simple
language constructs, you control the document flow, element
repetition, text replacement and translation.
.. note:: If you've used page templates in a Zope environment previously, note that Chameleon uses Python as the default expression language (instead of *path* expressions).
The basic language (known as the *template attribute language* or TAL)
is simple enough to grasp from an example:
.. code-block:: html
<html>
<body>
<h1>Hello, ${'world'}!</h1>
<table>
<tr tal:repeat="row 'apple', 'banana', 'pineapple'">
<td tal:repeat="col 'juice', 'muffin', 'pie'">
${row.capitalize()} ${col}
</td>
</tr>
</table>
</body>
</html>
.. rubric:: References
.. [1] `The mod_python project is now officially dead <http://blog.dscpl.com.au/2010/06/modpython-project-is-now-officially.html>`_