= Amrita quick start guide == 1. hello world Amritaには2レベルのAPIがあります。このサンプルでは高レベルAPIのみ扱います。 高レベルAPIは Amrita::Template と そこから導出された Amrita::TemplateFile と Amrita::TemplateText というクラスからなりたっています。 これらのクラスは、他のAmritaのクラスを隠していいます。 === HTML template 最も簡単なテンプレートは次のようなものです。 :include: sample/hello/template.html Amritaは +id+ 属性を持った要素を動的な要素として扱います。 そして、モデルデータから +id+ 属性の値をキーにしてデータを取り出します。 === code 上記のテンプレートを使用し、結果を標準出力に出力するコードは以下のようになります。 :include: sample/hello/hello.rb Amrita::Templateはテンプレートとモデルデータをミックスして 出力のHTMLドキュメントを作成します。 === output 結果は以下のようになります。
Amrita is a html template library for Ruby
"hello world"というテキストは、モデルデータから+title+というキーで取り出 され id="title"という属性を持った要素、すなわちに 挿入されます。...
も同様に処理されます。 == 説明 Amritaは以下のステップで使用します。 1. テンプレートファイルへのパスを指定して、Amrita::TemplateFile オブジェクトを生成する tmpl = TemplateFile.new("template.html") 2. テンプレート展開のためのモデルデータを作成する data = { :title => "hello world", :body => "Amrita is a html template library for Ruby" } モデルデータはさまざまな形をとれますが、 必ずテンプレートの +id+ で示される構造に適合している必要があります。 この場合は、テンプレートにはふたつの+id+があって、 その値は "title" と "body" です。 従って、モデルデータはこのふたつのキーに対応する値を持つ必要があります。 3. Amrita::Template#expand を呼ぶ tmpl.expand(STDOUT, data) +expand+ の最初のパラメータはストリームです。 Amritaは << メソッドによって結果を出力します。 従って、 << メソッドを受けつける任意のオブジェクト (File等のIO,String, Array)を使用することができます。 --- == 2 list このサンプルはAmritaで繰り返しを行なう方法を説明します。 繰り返しを行ないたい要素に配列を与えればその要素がコピーされます。 === code and output code: :include: sample/hello/list.rb output:| name | author |
|---|---|
| Ruby | matz |
| perl | Larry Wall |
| python | Guido van Rossum |
| name | author |
|---|---|