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.
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
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.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.