3 | | The `markup` package provides a template engine that is compatible with Kid (http://kid.lesscode.org) to a |
4 | | certain extent. |
| 3 | The `markup` package provides a template engine that is compatible with Kid (http://kid.lesscode.org) to a certain extent. |
| 4 | |
| 5 | Common concepts and features: |
| 6 | * The same basic set of directives (excluding `py:extends` and `py:layout`) |
| 7 | * Inline expressions using the `${expr}` (or just `$expr`) syntax. |
| 8 | * Expressions are real Python code, not some crippled mini language. |
| 9 | * Stream-based processing model making heavy use of Python generators. |
| 10 | * Different serialization methods, for example to produce XML or HTML output. |
8 | | * No support for <?python ?> processing instructions |
9 | | * Expressions are evaluated in a more flexible manner, meaning you can use e.g. attribute access notation to access items in a dictionary, etc |
10 | | * Use of XInclude and match templates instead of Kid's py:extends/py:layout directives |
| 14 | * No support for `<?python ?>` processing instructions |
| 15 | * Expressions are evaluated in a more flexible manner, meaning you can use e.g. attribute access notation to access items in a dictionary, etc (see the [source:/trunk/markup/eval.py markup.eval] module) |
| 16 | * Use of XInclude and match templates instead of Kid's `py:extends` / `py:layout` directives |