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
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.
Ссылки