= Amrita quick start guide == 1. hello world Amrita has two level APIs. This sample shows how to use Amrita's high level API: Amrita::TemplateFile and Amrita::TemplateText. They both are derived from Amrita::Template which wraps Amrita's low level API. The sample codes in this document use only high level API. === HTML template This is the simplest template for Amrita :include: sample/hello/template.html Amrita treats an element with +id+ attribute as a dynamic element and will get the data for it from model data by +id+ attribute's value as key. === code This is the code that use the template above and produce an output to STDOUT. :include: sample/hello/hello.rb Amrita::Template mixes template with model data and produces output html document. === output The output of this code is ...
Amrita is a html template library for Ruby
The text "hello world" is picked up from model data by the key +title+ and inserted into which has id="title" attribute. And...
was modified in the same way. == description You can use Amrita in these steps. 1. Generate a Amrita::TemplateFile object with the path to template file. tmpl = TemplateFile.new("template.html") 2. Make a model data for template expansion data = { :title => "hello world", :body => "Amrita is a html template library for Ruby" } Model data can be various form but should be fit template's ID structure. In this case, template has two +id+s and they has value "title" and "body". So model data must provide data for "title" and "body". 3. call Amrita::Template#expand tmpl.expand(STDOUT, data) The first parameter of +expand+ is the _stream_: amrita will put the output to it by << method. _stream_ can be IO including File, or String or Array or any objects that has << method. --- == 2 list This sample show how to make iteration with amrita. To copy a HTML element, mark it and give an Array to it. === code and output code: :include: sample/hello/list.rb output:| name | author |
|---|---|
| Ruby | matz |
| perl | Larry Wall |
| python | Guido van Rossum |
| name | author |
|---|---|