Haml

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
Haml
Image illustrative de l'article Haml
Logo

Développeurs Hampton Catlin, Nathan Weizenbaum
Dernière version 4.0.3 () [+/-]
Environnements Multiplate-forme
Type Moteur de template
Licence Licence MIT
Site web http://haml-lang.com/

Le Haml (XHTML Abstraction Markup Language) est un Langage de balisage léger pour templates. Il est utilisé pour générer simplement des documents XHTML sans utiliser les traditionnelles lignes de code. Il se veut élégant et minimaliste. À la façon de Python ou de Yaml, l'espacement est important : il permet la fermeture automatique des balises et blocs de code. Haml s'intègre parfaitement à Ruby on Rails et Padrino.

L'équivalent de Haml pour les feuilles de style en cascade est Syntactically Awesome Stylesheets (Sass).

Avantages[modifier | modifier le code]

  • Les documents n'étant plus encombrés par de nombreux symboles habituellement répétitifs (<, >, id="", class=""…), ceux-ci sont faciles à lire. Cela se ressent particulièrement lors du maintien de nombreux templates structurant tout un site. Les deux documents suivants sont équivalents :
<div id="sidebar">
  <ul class="main">
    <li class="active">
      <a href="accueil.html">
        Accueil
      </a>
    </li>
    <li>
      <a href="nouvelles.html">
        Nouvelles
      </a>
    </li>
    <li class="disabled">
      <a>Membres</a>
    </li>
  </ul>
</div>
#sidebar
  %ul.main
    %li.active
      %a{"href" => "accueil.html"}
        Accueil
    %li
      %a{"href" => "nouvelles.html"}
        Nouvelles
    %li.disabled
      %a Membres
  • L'espacement strict permet de se rendre compte instantanément de la moindre erreur : le document ne serait pas généré sinon. Cela évite par exemple de long temps passés à la compréhension de bugs Javascript interagissant avec le DOM.

Inconvénients[modifier | modifier le code]

  • Haml est « whitespace active », et s'appuie sur l'espacement uniforme pour chaque niveau de tiret. Tabulations et espaces doivent être maintenues constantes tout au long du document.
  • Il n'y a pas d'éditeur haml WYSIWYG, considérant qu'il existe de nombreux éditeurs HTML et XHTML. Toutefois, la communauté croissante des utilisateurs Haml a publié de nombreux addons sur Aptana, jEdit, NetBeans, Sublime Text et les éditeurs comme TextMate et vi. Cela permet aux développeurs de modifier haml dans un environnement qui est au courant de l'indentation des règles et de la syntaxe.