Haml

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

Développé par Hampton Catlin, Nathan Weizenbaum
Dernière version 4.0.3 ()Voir et modifier les données sur Wikidata
Environnements Multiplate-forme
Type Moteur de template
Licence Licence MIT
Site web http://haml.info

Le Haml (HTML Abstraction Markup Language) est un langage de balisage léger pour templates. Il est utilisé pour générer des documents XHTML sans utiliser la syntaxe HTML. Il se veut élégant et minimaliste. À l'instar de Python ou de Yaml, l'indentation est importante : elle permet la fermeture automatique des balises et blocs de code. Haml s'intègre bien à 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 HTML (<, >, id="", class=""…), ceux-ci sont, pour certains, plus faciles à lire (notamment lors de l'entretien 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'indentation stricte permet de se rendre compte plus rapidement des erreurs : le document HTML final ne se génère pas s'il y a une erreur de syntaxe. Cela peut par exemple éviter de perdre du temps dans l'analyse de bogues JavaScript interagissant avec le DOM.

Inconvénients[modifier | modifier le code]

  • Haml est « whitespace active », et s'appuie sur l'indentation 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 permettant aux développeurs de modifier du code Haml dans un environnement qui intègre l'indentation et les règles syntaxiques.

Notes et références[modifier | modifier le code]