Aller au contenu

Haml

Un article de Wikipédia, l'encyclopédie libre.
Ceci est une version archivée de cette page, en date du 20 avril 2020 à 17:08 et modifiée en dernier par Xqbot (discuter | contributions). Elle peut contenir des erreurs, des inexactitudes ou des contenus vandalisés non présents dans la version actuelle.
Haml
Description de l'image Haml 1-5 logo.png.

Informations
Développé par Hampton Catlin, Nathan Weizenbaum
Dernière version 6.3.0 ()[1]Voir et modifier les données sur Wikidata
Dépôt github.com/haml/hamlVoir et modifier les données sur Wikidata
Assurance qualité Intégration continueVoir et modifier les données sur Wikidata
Environnement 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 (en).

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

Avantages

  • 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

  • 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

  1. « Release 6.3.0 », (consulté le )