[Templates] Something comparable to Template Toolkit in Python?
Paul Seamons
mail@seamons.com
Thu, 11 May 2006 08:24:41 -0600
> I was in the same position a few years ago, and started porting TT to
> Python. While Python is nice for some things, I found that it was
> simply too difficult to create textual code generators for the
> language -- the significant-whitespace thing means that you can't
> simply generate code; you need to maintain and pass around too much
> information about things like indendation. It quickly turned into a
> bookkeeping exercise, and got old fast.
>
> You might want to look at Jemplate[0], which is a "port" of TT to
> Javascript. Basically, it's a small runtime engine that executes
> precompiled templates, generated by a Template::Directive replacement
> that generates JavaScript instead of Perl. You could do something
> similar for Python, modeled on the Jemplate model, although you'd
> still need to deal with the whitespace thing. You'd also have to deal
> with the fact that there is a separate compilation step, although you
> might be able to either spin this as a feature ("It detects errors
> before you upload your templates!"), or possibly hook Pymplate (that's
> your Python TT thingie :) into your publishing process, so that new
> templates are automatically compiled as they are put into production.
>
> In any case, I'd be interested in hearing about what you come up with,
> as would (I imagine) others on the list.
Hopefully by mid-next-week I'll release CGI::Ex::Template which is fully
compatible syntax wise (it is not compatible internals wise - there is no
separate Provider, Grammer, Parser, Stash, or Context). It doesn't generate
code. It generates an optree which is just a specific data structure
composed of an array of arrays.
It should be fairly easy to port to other languages.
For more discussion about CGI::Ex::Template, please refer to the warnocked
"Can there be two?" thread that started on the 5th of May.
Paul