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 details)

Uploaded Source

File details

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

File metadata

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

File hashes

Hashes for z3c.pt-0.6.1.tar.gz
Algorithm Hash digest
SHA256 1449da7a683e6402aef262aa00f4297469eda1da2a2d823b7cc02aba6c2d7446
MD5 4baeb5099db54accd5fcd1dc06d44e19
BLAKE2b-256 bff7e4bf4800e18cf0537066442664366eadd4c404612d494b653613f612733d

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