An open API service indexing awesome lists of open source software.

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

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


Content

## 独自ハンドラによる拡張

独自ハンドラを作成することで、テンプレートファイル中のプレゼンテーションロジックへの埋め込みを減らし、デザイナーの負担を減らすことができます。
独自ハンドラは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を設定したい場合など、タグの属性を変数の値で書き換えることができます。

TEXT

この場合、href属性にurl変数の値を設定します。なお、この値は自動的にHTMLエスケープされます。

## タグの除去

deletionパラメータを指定すると、そのタグ自体は出力に含まれなくなります。

hogeの値

HOGE

hogeの値

HOGE

## Contributing to ETER

Fork, fix, then send me a pull request.

## Copyright

Copyright(c) 2013 Yuichi Takeuchi, released under the MIT license