An implementation of the TAL template language.
Project description
Overview
--------
The z3c.pt package provides an alternative implementation of the TAL
template language including i18n.
In a nutshell:
- Templates are bytecode-compiled
- Only Python-expressions are supported
- Depends only on lxml
The METAL macro language is not supported.
Template and expression language
--------------------------------
The template and expression language is based loosely on the TAL 1.4
specification*. Some notable changes:
1. Only Python-expressions are allowed. Expressions can have
try-except fallbacks using the vertical bar syntax:
tal:content="<expression> | <first fallback> | <second fallback> | ..."
2. Tuples are allowed in the tal:define statement:
tal:define="(a, b, c) [1, 2, 3]"
3. Generators are allowed in tal:repeat statements. Note that the
repeat variable is not available in this case.
tal:repeat="i <some generator>"
4. Attribute-access to dictionary entries is allowed, e.g.
dictionary.key
can be used instead of ``dictionary['key']``.
5. Expressions that return a callable are called.
*) http://wiki.zope.org/ZPT/TALSpecification14
Development
-----------
If you want to use the code directly from trunk, provide
``z3c.pt==dev`` as your dependency.
http://svn.zope.org/z3c.pt/trunk#egg=z3c.pt-dev
Changelog
---------
Version 0.4 - February 22, 2008
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Engine now uses cStringIO yielding a 2.5x performance
improvement. Unicode is now handled correctly.
Version 0.3 - December 23, 2007
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Code optimization; bug fixing spree
[malthe]
- Added ``ViewPageTemplateFile`` class
[malthe]
- Added support for i18n
[malthe]
- Engine rewrite; improved code generation abstractions
[malthe]
Version 0.2 - December 5, 2007
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Major optimizations to the generated code
[malthe]
Version 0.1 - December 3, 2007
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- First public release
[malthe]
--------
The z3c.pt package provides an alternative implementation of the TAL
template language including i18n.
In a nutshell:
- Templates are bytecode-compiled
- Only Python-expressions are supported
- Depends only on lxml
The METAL macro language is not supported.
Template and expression language
--------------------------------
The template and expression language is based loosely on the TAL 1.4
specification*. Some notable changes:
1. Only Python-expressions are allowed. Expressions can have
try-except fallbacks using the vertical bar syntax:
tal:content="<expression> | <first fallback> | <second fallback> | ..."
2. Tuples are allowed in the tal:define statement:
tal:define="(a, b, c) [1, 2, 3]"
3. Generators are allowed in tal:repeat statements. Note that the
repeat variable is not available in this case.
tal:repeat="i <some generator>"
4. Attribute-access to dictionary entries is allowed, e.g.
dictionary.key
can be used instead of ``dictionary['key']``.
5. Expressions that return a callable are called.
*) http://wiki.zope.org/ZPT/TALSpecification14
Development
-----------
If you want to use the code directly from trunk, provide
``z3c.pt==dev`` as your dependency.
http://svn.zope.org/z3c.pt/trunk#egg=z3c.pt-dev
Changelog
---------
Version 0.4 - February 22, 2008
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Engine now uses cStringIO yielding a 2.5x performance
improvement. Unicode is now handled correctly.
Version 0.3 - December 23, 2007
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Code optimization; bug fixing spree
[malthe]
- Added ``ViewPageTemplateFile`` class
[malthe]
- Added support for i18n
[malthe]
- Engine rewrite; improved code generation abstractions
[malthe]
Version 0.2 - December 5, 2007
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Major optimizations to the generated code
[malthe]
Version 0.1 - December 3, 2007
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- First public release
[malthe]
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
z3c.pt-0.4.3.tar.gz
(18.4 kB
view hashes)