Skip to main content

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:

  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.

  6. Expression interpolation is allowed:

    <a href=”mailto:${context.email}”>${context.email}</a>

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

http://svn.zope.org/z3c.pt/trunk#egg=z3c.pt-dev

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

This version

0.6.1

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.6.1.tar.gz (21.7 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page