https://github.com/takeyuweb/eter
Extensible Template Engine for Ruby
https://github.com/takeyuweb/eter
Last synced: over 1 year ago
JSON representation
Extensible Template Engine for Ruby
- Host: GitHub
- URL: https://github.com/takeyuweb/eter
- Owner: takeyuweb
- Created: 2013-01-09T06:15:56.000Z (over 13 years ago)
- Default Branch: master
- Last Pushed: 2013-01-10T09:33:29.000Z (over 13 years ago)
- Last Synced: 2025-01-22T05:16:22.919Z (over 1 year ago)
- Language: Ruby
- Size: 113 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# EHTR - Extensible Template Engine for Ruby
ノンプログラマに優しい
* HTMLタグの属性を使うのでDOM構造や表示が崩れない
* テンプレートファイルへのプレゼンテーションロジックの混入を抑制
拡張しやすい
* 独自ハンドラをRubyの継承を使って簡単に追加できる
## 例
TITLE(DUMMY)
eter = Eter::Template.new(tmpl)
eter.output(title: 'Title',
content: 'Content',
links: {'http://www.google.com/' => 'Google',
'http://www.yahoo.co.jp/' => 'Yahoo! JAPAN'})
Title
## 独自ハンドラによる拡張
独自ハンドラを作成することで、テンプレートファイル中のプレゼンテーションロジックへの埋め込みを減らし、デザイナーの負担を減らすことができます。
独自ハンドラはRubyの継承を使って簡単に追加することができます。
-
:
独自ハンドラ item* を追加して変数処理やカウントアップをテンプレートから分離
-
1:DUMMY - DUMMY
これらは以下のようなハンドラクラスを作成するだけです。
# items
Eter::Node::Handler::Items
# itemno
Eter::Node::Handler::Itemno
# itemname
Eter::Node::Handler::Itemname
# itemdescription
Eter::Node::Handler::Itemdescription
## 組み込みハンドラ
### Var
変数を取得したりセットしたりできます。
変数hogeの内容を表示
valueパラメータを指定すると値をセットします。この時、出力には表示されません。
また、変数の内容についてopパラメータを使うことで変数に対して処理を行うことができます。
出力時にエスケープを行う場合は、escapeパラメータを設定します。
message変数の値をHTMLエスケープして表示します。
### Loop
繰り返しを行います。
DUMMY
### If
分岐選択制御を行います。
変数hogeの値が存在すればこの内容を表示
ここで'存在する'とは nil でなく、配列やハッシュの場合は空でないこと
変数hogeの値が'HOGE'ならこの内容を表示
## 属性の書き換え
Aタグのhrefを設定したい場合など、タグの属性を変数の値で書き換えることができます。
この場合、href属性にurl変数の値を設定します。なお、この値は自動的にHTMLエスケープされます。
## タグの除去
deletionパラメータを指定すると、そのタグ自体は出力に含まれなくなります。
HOGE
## Contributing to ETER
Fork, fix, then send me a pull request.
## Copyright
Copyright(c) 2013 Yuichi Takeuchi, released under the MIT license