Genshi (templating language)

From Seo Wiki - Search Engine Optimization and Programming Languages

Jump to: navigation, search
Developer(s) Edgewall Software
Initial release August 3, 2006 (2006-08-03)
Stable release 0.5.1 / July 9, 2008; 176907815 ago
Operating system Cross-platform
Type Template Engine

Genshi is a template engine for XML-based vocabularies written in Python. Genshi is used to easily insert generated output into XML-based languages, usually HTML, and reuse elements between documents. Genshi is based on Kid and aims to implement some of its functionality while processing templates faster.[1]

Genshi's can be used with several Python web frameworks, such as CherryPy[2] [3], TurboGears[4], Pylons[5] and web2py[6]. Genshi will eventually replace Kid in the TurboGears web framework.[7]


Genshi Markup

Genshi makes use of namespaces to embed instructions into HTML. A typical instruction is given as an attribute, with a Python expression inside the quotes. For example, the following will render a paragraph that shows 4:

<html xmlns="" xmlns:py="">
        <p py:content="2 + 2">This will be replaced with 4</p>

Because of the use of namespaces, Genshi can be used in WYSIWYG HTML editors.[8]

Differences between Kid and Genshi

  • Genshi directly interprets templates (unlike Kid, which generates Python code)[9]
  • Genshi uses XInclude for template reuse[9]
  • Genshi adds attributes Kid does not have, like py:choose[9]


External links

Personal tools

Served in 0.560 secs.