HAML : langage de balisage d'abstraction HTML

Récemment, j'ai appris HAML pour avoir soutenu mon Application Rails et j'ai découvert des faits très intéressants que je voulais partager avec vous. L'expérience d'apprentissage a été excellente et maintenant je veux m'assurer que l'expérience de partage est également excellente. J'espère que vous l'attraperez facilement ! D'accord, alors c'est parti et quelques éléments très basiques sur HAML seraient : HAML signifie HTML Abstraction Markup Language. Il s'agit d'un nouveau moteur de modèles pour Rubis sur Rails. Il remplace les modèles RHTML auxquels nous sommes si habitués dans les applications Rails.

Les principes de HAML sont que le balisage doit être beau, le balisage doit être SEC (Ne vous répétez pas) et le balisage doit être dentelé. J'espère que ce n'est pas sorcier.

Des rails « Ruby intégré » par défaut, c'est-à-dire .erbe les fichiers décrivent la sortie HTML avec du code Ruby nécessaire pour générer les parties dynamiques d'une page. HAML fait la même chose mais adopte une approche minimaliste en matière de syntaxe. Les règles des espaces blancs dans HAML sont très strictes. L'imbrication est gérée par indentation. Dans HAML, les balises commencent par % et il n'est pas nécessaire de les fermer. Ils sont auto-fermés par indentation. id="abc" sera juste #abc et class="abc" sera .abc div est la balise par défaut et pour toutes les autres, nous devons utiliser %tag <%= Du code rubis %> sera juste = du code ruby en HAML . Pour les boucles <%, du code%> deviendra du code en HAML. Syntaxe : !!! – spécificateur de doctype : par exemple !!! Strict Insère une déclaration HTML DOCTYPE ou XML. La valeur par défaut est XHTML 1.0 % – spécificateur d'élément, par exemple %h1 : enveloppe tout ce qui suit dans la même ligne *ou* imbriqué dans les lignes indentées suivantes avec des balises 'élément' d'ouverture/fermeture. # – spécificateur d'identifiant : par exemple #main ou %div#main Définit un attribut 'id' sur un élément. Si %element n'est pas spécifié, crée un élément 'div' implicite. . – spécificateur de classe : par exemple .error ou %li.error Définit un attribut 'class' sur un élément. Si %element n'est pas spécifié, crée un élément 'div' implicite. Les cours peuvent être enchaînés avec plusieurs périodes. {} - attributs : par exemple %input{:name => "title", :length => "30"} Définit les attributs sur un élément, en prenant soit des paires clé/valeur de hachage Ruby, soit une ou plusieurs méthodes Ruby qui renvoient un hachage. / (à la fin de la définition du tag) – tag à fermeture automatique : par exemple %br/

Spécifie une balise à fermeture automatique. (Certaines balises se ferment automatiquement par défaut.) / (en début de ligne) – commentaire : par exemple / Ici, il y a des tigres. Crée un commentaire HTML à partir du contenu de la même ligne ou de celui imbriqué en dessous. – caractère d'échappement : par exemple . (pour afficher un point au début d'une ligne) Permet aux caractères « spéciaux » de cette liste d'être rendus sous forme de texte brut. = – Expression Ruby : par exemple %h1= @content.title ou = @content.title Fonctionne exactement comme le marqueur Erb = : l'expression Ruby qui la suit est évaluée et son résultat inséré dans le document. Peut suivre une balise ou se tenir seul en ligne. – – Code Ruby non imprimable : par exemple – pour le contenu dans @contents do Fonctionne exactement comme le marqueur Erb – : l'expression Ruby est évaluée mais aucune sortie n'est envoyée dans le document. Principalement utilisé pour le contrôle de flux et la syntaxe originale de Rails form_for. == – Chaîne interpolée Ruby : par exemple, %h1== Modification en cours de #{@content.title} Fonctionne comme = suivi d'une chaîne entre guillemets doubles. Le contenu est traité comme littéral avec les substitutions de variables Ruby. -# – Commentaire silencieux, par exemple -# Les utilisateurs sont tous des idiots. Le contenu n'est jamais sorti. Dans HAML, il n'est pas nécessaire d'écrire le DOCTYPE, on peut l'inclure à l'aide de !!! et les balises !!!XML.

La simplicité est que le RHTML La version a environ 261 jetons par rapport à la version HAML qui n'en a qu'environ 117. Par exemple, l'équivalent du code html suivant <h1>HAML est un moteur de création de modèles, Mona</h1> dans ERB sera <h1>HAML est un moteur de création de modèles,<%= @name%></h1>

Peut s'écrire comme suit en HAML %h1 = "HAML est un moteur de création de modèles, #{@name}" L'installation est assez simple, vous pouvez soit l'installer en téléchargeant le plugin, soit par installation de gem. $ sudo gem installer haml #haml-rails Je viens de prendre un fichier d'un projet existant, c'est-à-dire .erbe fichier et je l'ai renommé pour avoir un .haml extension. Ceci est mon ancien fichier .erb : <center> <table cellspacing="”5″" cellpadding="”5″"> <tbody> <tr> <td> <ul> <li> <%= link_to @story.name, @story.link %></li> </ul> </td> </tr> </tbody> </table> <%= link_to “Add New story”, :action =>&#039;nouveau&#039; %&gt; </center> et voici mon nouveau fichier .haml: %center %table{:cellpadding=>5,:cellspacing=>5} %tr %td %ul %li= link_to @story.name, @story.link = link_to “Add New story”, :action =>’new’

Vous avez remarqué quelque chose ?

14 lignes ont été réduites à 7 lignes et c'est aussi magnifique

Alors, créons quelques applications de rails très joliment codées.

Prenez contact avec nous.

Abonnez-vous pour les dernières mises à jour

Articles Similaires

Laissez un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

fr_FRFrench