TXR is a new data munging language. TXR's special pattern language provides template-based matching of entire documents or large sections of documents. It also contains a language for functional and imperative programming. It is written in C and takes the form of a utility that is portable to Unix-like platforms and Windows.
Snippetory is a general Java template engine based on passive templates. In passive templates, template code and logic are clearly separated from each other. The templates contains very simple mark up. By removing logic, templates are directly accessible, fully parametrized, and free of context, and can easily be reused. Navigation, code competition, and structuring of the code with methods and classes are supported.
Jenner is a Web page templating system with a twist: it runs completely within a Web browser. Templates are just normal Web pages with special syntax inside text nodes, attributes, or comments. Unlike other in-browser templating systems, Jenner does not require overloading of "class" attributes or invalid HTML; all Jenner templates are valid Web pages and the template expressions flow in a very natural way. Having the template engine in the Web browser instead of on the server takes a lot of load off of the server, and makes for a clean separation of presentation and content. Jenner is very powerful: it has the full power of the Esel expression language at its disposal. Templates can be rendered from JSON data, and can be re-rendered without a browser-to-server round trip.
terp is a modular template engine that integrates tightly into ANT and provides a portable C++ compiler task (aCC, g++, icc, msvc++, SUN CC, xlC) on many platforms and processor architectures, a collection iterator task, a full-featured expression language with host introspection, formatters, selectors, and transformers for expressions, and much more. It can be embedded into Ant, used as a stand-alone or embedded templating engine, or used as a batch or interactive expression evaluator. It is extremely flexible and can be extended with your own types, operators can be overloaded, and properties and methods can be added to types.