[Amrita2-users] [ANN] Amrita2 1.9.6

Taku Nakajima tnakajima at brain-tokyo.jp
Wed Dec 7 03:53:42 EST 2005


Amrita2 is a XML/HTML template library for Ruby.  I released a new
version 1.9.6 as BETA1 for 2.0. Get it from

  http://amrita2.rubyforge.org/

I reduced undocumented features and refactored much to prepare the
comming stable release. And ..

* added gemspec and make it Rails plugin
* simplified the ERB processing feature
* new feature for setting two attributes (like class='odd' and
  class='even') alternately

Now Amrita2 template can contain ERB source in it.

        <table border='1'>
          <tr><th>name</th><th>author</th></tr>
          <tr id='languages'>
            <td><![CDATA[
               <a href='<%= $_.url %>'><%= $_.name %></a>
            ]]></td>
            <td id='creator'></td>
          </tr>
        </table>

CDATA in <td> element will be evaluated as many times as number of
'languages' data. And each item will be set to '$_' before ERB
evaluating. See this page for detail.

  How to use Amrita2 with Ruby On Rails
  http://amrita2.rubyforge.org/Rails.html

And this method setup Template to insert two attributes alternately.

  def languages_setup_template(template)
    tmpl = Amrita2::TemplateText.new(template)
    tmpl.use_erb(binding)
    tmpl.element_option[:languages] =  { :mv_attr=> { :class=>%w(odd even)
} }
    tmpl
  end

This template produces output like this.

<table border='1'>
  <tr><th>name</th><th>author</th></tr>
  <tr class='odd'>
    <td><a href='http://www.ruby-lang.org/'>Ruby</a></td>
    <td>matz</td>
  </tr><tr class='even'>
    <td><a href='http://www.perl.com/'>perl</a></td>
    <td>Larry Wall</td>
  </tr><tr class='odd'>
    <td><a href='http://www.python.org/'>python</a></td>
    <td>Guido van Rossum</td>
  </tr>
</table>




More information about the Amrita2-users mailing list