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. It also provides a simple text template class that allows expression interpolation.
Casual benchmarks pegs it 12x more performant than zope.pagetemplate.
In a nutshell:
Templates are bytecode-compiled
Only Python-expressions are supported
Depends only on lxml
Adds support for expression interpolation
Limited support for CSS, Javascript and other non-XML documents
See the README.txt inside the package for instructions on usage.
Note: 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:
Only Python-expressions are allowed. Expressions can have try-except fallbacks using the vertical bar syntax:
tal:content=”<expression> | <first fallback> | <second fallback> | …”
Tuples are allowed in the tal:define statement:
tal:define=”(a, b, c) [1, 2, 3]”
Generators are allowed in tal:repeat statements. Note that the repeat variable is not available in this case.
tal:repeat=”i <some generator>”
Attribute-access to dictionary entries is allowed, e.g.
dictionary.key
can be used instead of dictionary['key'].
Expressions that return a callable are called.
Expression interpolation is allowed:
<a href=”mailto:${context.email}”>${context.email}</a>
Attribute-values are always escaped; document expressions are never.
Development
If you want to use the code directly from trunk, provide z3c.pt==dev as your dependency.
Changelog
Version 0.6 - February 24, 2008
Added support for text templates; these allow expression interpolation in non-XML documents like CSS stylesheets and javascript files.
Version 0.5 - February 23, 2008
Expression interpolation implemented.
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.