Genshi (templating language)

Genshi
Developer(s) Edgewall Software
Initial release August 3, 2006
Stable release 0.7 / January 27, 2013
Operating system Cross-platform
Type Template Engine
Website genshi.edgewall.org

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 can be used with several Python web frameworks, such as CherryPy,[2][3] TurboGears,[4] Pylons[5] and web2py.[6] Genshi has replaced Kid in the TurboGears 2.x 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="http://www.w3.org/1999/xhtml" xmlns:py="http://genshi.edgewall.org/">
    <body>
        <p py:content="2 + 2">This will be replaced with 4</p>
    </body>
</html>

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

Differences between Kid and Genshi

References

  1. "What is Genshi?". Retrieved 2008-01-20.
  2. "CherryPy – Genshi". Retrieved 2009-09-26.
  3. "Genshi - CherryPy Tools - Trac". Retrieved 2009-09-26.
  4. "Genshi Templating". Retrieved 2008-01-20.
  5. "Genshi Templates - Pylons Cookbook". Retrieved 2008-01-20.
  6. "web2py: Enterprise Web Framework". Retrieved 2009-09-26.
  7. Ramm, Mark. "TurboGears 1.1 and Beyond". Retrieved 2008-01-20.
  8. "Choosing a templating language". Retrieved 2010-05-30.
  9. "Choosing a templating language". Retrieved 2008-01-20.
  10. 10.0 10.1 10.2 "Comparing Genshi to Kid". Retrieved 2008-01-20.

External links