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

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.2.tar.gz (21.5 kB view details)

Uploaded Source

File details

Details for the file z3c.pt-0.6.2.tar.gz.

File metadata

  • Download URL: z3c.pt-0.6.2.tar.gz
  • Upload date:
  • Size: 21.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for z3c.pt-0.6.2.tar.gz
Algorithm Hash digest
SHA256 77b19050046173db7f12846382591c1c685634140da83223cd0f39c31b3beadb
MD5 2128624dc3841f76f74b889573486626
BLAKE2b-256 d0db7178bab2330fb72fd7a5e1cf946fc9343a7f69c17c011e6c91b2b82875aa

See more details on using hashes here.

Supported by

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