Genshi

From Wikipedia, the free encyclopedia

Genshiは、XMLのような語彙を持ったテンプレートエンジンで、Pythonで書かれている。 Genshiを利用することにより、XMLをベースとした言語、通常HTMLに出力内容を簡単に挿入したり、ドキュメント間の要素を再利用できる[1]。Genshiは、Kid英語版を元にしており、テンプレート処理を高速化する機能のいくらかを実装することを目的としている[2]

開発元 Edgewall Software
初版 2006年8月3日 (2006-08-03)
最新版
0.7.9 / 2024年6月16日 (21か月前) (2024-06-16)
概要 開発元, 初版 ...
Genshi
開発元 Edgewall Software
初版 2006年8月3日 (2006-08-03)
最新版
0.7.9 / 2024年6月16日 (21か月前) (2024-06-16)
リポジトリ ウィキデータを編集
対応OS クロスプラットフォーム
種別 テンプレートエンジン
公式サイト genshi.edgewall.org
テンプレートを表示
閉じる

Genshiは、さまざまなPythonWebフレームワークで利用可能であり、例えばCherryPy[3][4]TurboGears[5]Pylons[6]web2pyで利用されている[7]。 GenshiはTurboGears 2.x内のKidを置き換えた[8]

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エディタで利用可能である[9][10]

KidとGenshiの違い

  • Genshiは、直接テンプレートを処理する。(KidのようにPythonコードを出力したりしない)[11]
  • Genshiは、テンプレートの再利用のためにXIncludeを使用する[11]
  • Genshiは、Kidが持たない属性が追加されている。例:py:choose[11]

参照

外部リンク

Related Articles

Wikiwand AI