Chameleon support for templating in Lektor.

lektor, plugin, static-site, blog, chameleon, templating, static-site-generator
pip install lektor-chameleon==0.6.1


PyPI version. Project license.

lektor-chameleon is a plugin for the Lektor static site generator that makes is possible to write the templates using the Chameleon template engine.

To use the plugin, add it to your project:

lektor plugin add lektor-chameleon

Since the plugin modifies the default environment, it requires that it will be explicitly enabled. To enable the plugin, create the file configs/chameleon.ini and put the following lines into it:

enabled = yes

If you don't want to use the ".html" extension for your template files, you can set a different one in the configuration:

enabled = yes
file_ext = .pt

Usage examples:

<html lang="${this.alt}">

<h1 tal:content="this.title">Page title</h1>

<span tal:replace="bag('translate', this.alt, 'message')">message</span>

Many Lektor and Jinja filters are available using the >> operator:

<a href="${'/' >> url}">Home page</a>

<link rel="stylesheet" href="${'/static/custom.css' >> asseturl}"/>

Filters also accept parameters:

<a href="${'.' >> url(alt=this.alt)}">link text</a>

But filter parameters must be given as keyword parameters:

<!-- incorrect -->
<div tal:replace="this.body >> indent(4)">Page body</div>

<!-- correct -->
<div tal:replace="this.body >> indent(width=4)">Page body</div>