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 (Don’t Repeat Yourself) and markup should be dentelé. J'espère que ce n'est pas sorcier.

Des rails “embedded Ruby” by default i.e., .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” will be just #abc and class=”abc” will be .abc div is the default tag and for all others, we have to use %tag <%= Some ruby code%> will be just =some ruby code in HAML. For loops <% some code%> will become -some code in HAML. Syntaxe : !!! – doctype specifier: e.g. !!! Strict Inserts an HTML DOCTYPE or XML declaration. Default is XHTML 1.0 % – element specifier, e.g. %h1: Wraps everything following in the same line *or* nested in following indented lines with open/close ‘element’ tags. # – id specifier: e.g. #main or %div#main Sets an ‘id’ attribute on an element. If %element is not specified, creates an implied ‘div’ element. . – class specifier: e.g. .error or %li.error Sets a ‘class’ attribute on an element. If %element is not specified, creates an implied ‘div’ element. Classes can be chained with multiple periods. {} – attributes: e.g. %input{:name => “title”, :length => “30”} Sets attributes on an element, taking either Ruby hash key/value pairs or one or more Ruby methods which return a hash. / (at end of tag definition) – self-closing tag: e.g. %br/

Spécifie une balise à fermeture automatique. (Certaines balises se ferment automatiquement par défaut.) / (at start of line) – comment: e.g. / Here there be tigers. Creates an HTML comment from the content in the same line or the one nested beneath. – escape characte: e.g. . (to render a period at the start of a line) Allows ‘special’ characters from this list to be rendered as plain text. = – Ruby expression: e.g. %h1= @content.title or = @content.title Works just like the Erb = marker: the Ruby expression following it is evaluated and its result inserted into the document. May follow a tag or stand in a line by itself. – – Ruby non-printing code: e.g. – for content in @contents do Works just like the Erb – marker: the Ruby expression is evaluated but no output goes into the document. Primarily used for flow control and the quirky Rails form_for syntax. == – Ruby interpolated string: e.g. %h1== Now editing #{@content.title} Works just like = followed by a double-quoted string. Content is treated as literal with Ruby variable substitutions. -# – Silent comment, e.g. -# The users are all idiots. Content is never output. 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 is a templating engine,#{@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 *

French
English
English
Japanese
German
French
Spanish

WhatsApp nous

Quitter la version mobile