QuickStart_ja

Path: docs/QuickStart_ja
Last Update: Thu Jul 18 00:08:15 UTC 2002

Amrita quick start guide

1. hello world

Amritaには2レベルのAPIがあります。このサンプルでは高レベルAPIのみ扱います。

高レベルAPIは Amrita::Template と そこから導出された Amrita::TemplateFileAmrita::TemplateText というクラスからなりたっています。 これらのクラスは、他のAmritaのクラスを隠していいます。

HTML template

最も簡単なテンプレートは次のようなものです。

  <html>
     <body>
        <h1 id=title>title will be inserted here</h1>
        <p id=body>body text will be inserted here</p>
     </body>
  </html>

Amritaid 属性を持った要素を動的な要素として扱います。 そして、モデルデータから id 属性の値をキーにしてデータを取り出します。

code

上記のテンプレートを使用し、結果を標準出力に出力するコードは以下のようになります。

  require "amrita/template"
  include Amrita

  tmpl = TemplateFile.new("template.html")
  data = {
     :title => "hello world",
     :body => "Amrita is a html template libraly for Ruby"
  }
  tmpl.expand(STDOUT, data)

Amrita::Templateはテンプレートとモデルデータをミックスして 出力のHTMLドキュメントを作成します。

output

結果は以下のようになります。

  <html>
    <body>
      <h1>hello world</h1>
      <p>Amrita is a html template library for Ruby</p>
    </body>
  </html>

"hello world"というテキストは、モデルデータからtitleというキーで取り出 され id="title"という属性を持った要素、すなわち<h1>に 挿入されます。

<p id="body">…</p>も同様に処理されます。

説明

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)を使用することができます。

[Validate]