Haml

Haml
Description de l'image Haml 1-5 logo.png.

Informations
Développé par Hampton Catlin, Nathan Weizenbaum
Dernière version 7.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 https://haml.info

Le Haml (HTML Abstraction Markup Language) est un langage de balisage léger pour template (en). Il propose une syntaxe plus simple que celle de la norme HTML pour générer des pages web. Il se veut élégant et minimaliste.

À l'instar de Python ou de Yaml, l'indentation y est importante : elle permet la fermeture automatique des balises et blocs de code.

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

Avantages

Des écritures simplifiées sont proposées à la place des syntaxes du XML et de certaines écritures HTML courantes :

  • pour ouvrir une balise, il suffit d'un % au lieu de < et > ;
  • il n'y a rien à écrire pour fermer les balises : la fin de leurs corps est déterminé par l'indentation ;
  • le contenu des attributs id et class peut être indiqué avec la même syntaxe qu'en CSS ;
  • le nom de balise div peut être omis (c'est l'élément HTML utilisé par défaut).

Ainsi, le code Haml suivant :

#sidebar
  %ul.main
    %li.active
      %a(href="accueil.html") Accueil
    %li
      %a(href="nouvelles.html") Nouvelles
    %li.disabled
      %a Membres

permet de produire le code HTML suivant :

<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>

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.

Utilisé avec un framework tel que Ruby on Rails et Padrino (en), Haml offre une syntaxe permettant d'insérer facilement des données dans le rendu HTML.

Haml permet d'exécuter des filtres, qui sont généralement des programmes auxiliaires, sur certaines parties du code.

Inconvénients

  • Haml est whitespace active : l'indentation a une importance pour le langage. Tabulations et espaces doivent être maintenues constantes dans tout le code.
  • Le code Haml doit être compilé en HTML par un programme pour pouvoir être lu par le navigateur web (qui ne sait lire que le HTML).
  • 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 nombreuses extensions pour Aptana, jEdit, NetBeans, Sublime Text et les éditeurs comme TextMate et vi[2]. Cela permet 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 7.3.0 », (consulté le )
  2. « Haml :: Editors », sur haml.info (consulté le )

Liens externes

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.