Loading article…
| 開発者 | エッジウォールソフトウェア |
|---|---|
| 初回リリース | 2006年8月3日 |
| 安定版リリース | 0.7.9 [1]
/ 2024年6月15日 |
| リポジトリ |
|
| オペレーティング·システム | クロスプラットフォーム |
| タイプ | テンプレートエンジン |
| ライセンス | 3条項BSDライセンス[2] |
| Webサイト | genshi.edgewall.org |
Genshiは、 Pythonで書かれた XMLベースの語彙用のテンプレートエンジンです。Genshi は、生成された出力を XML ベースの言語(通常はHTML )に簡単に挿入し、ドキュメント間で要素を再利用するために使用されます。Genshi の構文はKidに基づいていますが、アーキテクチャは異なります。Genshi は、テンプレートを Python コードにコンパイルするのではなく、ストリームベースの API を使用してテンプレートを動的に処理することで、テンプレートの処理速度を上げながら、その機能の一部を実装することを目指しています。[3]
GenshiはCherryPy、[4] [5] TurboGears、[6] Pylons [7] web2pyなどのいくつかのPythonウェブフレームワークで使用できます。[8] Genshiはバージョン1.1 [9]から2.3.8までTurboGearsのデフォルトのテンプレート言語でした。[10]
原始マークアップ
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エディタで使用できます。[11] [12]
キッドとゲンシの違い
- Genshiはテンプレートを直接解釈します(Pythonコードを生成するKidとは異なります)[13]
- Genshiはテンプレートの再利用にXIncludeを使用しています[13]
- ゲンシはキッドにはない属性を追加します。
py:choose[13] - Genshiテンプレートは、テンプレートのソースファイル名と行番号を追跡し、GenshiのインタープリタからのエラーがKidの生成コードよりもわかりやすいスタックトレースを生成するため、デバッグが容易です。[13]
参考文献
- ^ “リリース 0.7.9”. 2024年6月15日. 2024年6月22日閲覧。
- ^ 「ライセンス – Genshi」.
- ^ 「Genshiとは何か?」2008年1月20日閲覧。
- ^ 「CherryPy – Genshi」。2009年9月26日閲覧。
- ^ 「Genshi - CherryPy Tools - Trac」。2012年2月27日時点のオリジナルよりアーカイブ。2009年9月26日閲覧。
- ^ 「Genshi Templating」。2012年7月16日時点のオリジナルよりアーカイブ。2008年1月20日閲覧。
- ^ 「Genshi テンプレート - Pylons クックブック」。2012 年 4 月 16 日時点のオリジナルよりアーカイブ。2008 年 1 月 20 日閲覧。
- ^ 「web2py: エンタープライズ Web フレームワーク」 。2009年 9 月 26 日閲覧。
- ^ Ramm, Mark. 「TurboGears 1.1 and Beyond」。2012年7月5日時点のオリジナルよりアーカイブ。2008年1月20日閲覧。
- ^ Molina, Alessandro. 「Docs Review」. 2024年1月18日閲覧。
- ^ 「テンプレート言語の選択」。2010 年 6 月 16 日時点のオリジナルよりアーカイブ。2010 年 5 月 30 日閲覧。
- ^ 「テンプレート言語の選択」。2008 年 1 月 17 日時点のオリジナルよりアーカイブ。2008 年 1 月 20 日閲覧。
- ^ abcd 「GenshiとKidを比較」。2008年1月20日閲覧。
外部リンク
- 公式サイト
