Genshi

Genshi является библиотекой Python, обеспечивающей интегрированный набор компонентов для разбора, подготовки и обработки HTML, XML или другого текстового контента в WEB. Genshi базируется на Kid и стремится осуществить более быструю функциональность при обработке шаблонов, чем Kid.[1]

Genshi используют некоторые веб-фреймворки, такие как CherryPy[2][3], TurboGears[4], Pylons[5] и web2py[6]. Genshi заменил Kid в TurboGears 2.x.[7]

Общие сведения
Genshi
Тип Template Engine
Разработчик Edgewall Software
Написана на Python
Операционная система Cross-platform
Первый выпуск август 3, 2006 (2006-08-03)
Последняя версия 0.6 (22 апреля 2010; 16 лет назад (2010-04-22))
Репозиторий github.com/edgewall/gens…
Лицензия BSD license
Сайт genshi.edgewall.org

Разметка Genshi

Genshi использует пространство имён для внедрения инструкций в HTML. Обычно команды разметки записываются как атрибуты, с выражением Python-а внутри кавычек. Например, следующий пример будет отображать «4»

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:py="http://genshi.edgewall.org/">
    <body>
        <p py:content="2 + 2">Это будет заменено на "4"</p>
    </body>
</html>

За счёт использования пространства имен, Genshi можно использовать с WYSIWYG HTML редакторах.[8][9]

Различия между Kid и Genshi

  • Genshi непосредственно интерпретирует шаблоны, тогда как Kid генерирует код Python[10]
  • Genshi использует XInclude для повторного использования шаблонов[10]

Примечания

Литература

  • Gardner, J. The Definitive Guide to Pylons. — Apress, 2008. — P. 88-89. — 568 p. — ISBN 9781430205340.

Ссылки