haml est un langage de balisage (markup language) qui sert à générer du XHTML. haml est codé en Ruby et peut être utilisé avec Ruby on Rails, Merb ou toute autre application Ruby.
Lors de Paris on Rails 2007, Nicolas Mérouze a présenté une session sur haml et sass qui compare différents systèmes de templates. À lire.
Installation
L’installation se fait en deux temps : la gem, puis le plugin dans l’application.
sudo gem install haml # dans le répertoire de l'application haml --rails .
Ensuite convertir un fichier .html.erb en .html.haml. Le tutorial est clair, même s’il est en anglais. Un exemple trivial :
<h1>Bookmarks</h1>
<table id="bookmarks" border="0">
<% @bookmarks.each do |bookmark| %>
<tbody>
<tr>
<td><%= bookmark.url%></td>
</tr>
<% end%></tbody></table>
<% form_for :bookmark, :url => { :action => 'create' } do |f| %>
<%= f.label :url, 'URL' %>:
<%= f.text_field :url %>
<% end %>Après :
%h1 Bookmarks %table#bookmarks - @bookmarks.each do |bookmark| %tr %td= bookmark.url - form_for :bookmark, :url => { :action => 'create' } do |f| = f.label :url, 'URL' = f.text_field :url