Kürzlich habe ich davon erfahren HAML für die Unterstützung meiner Rails-Anwendung und ich habe einige sehr interessante Fakten herausgefunden, die ich mit euch teilen wollte. Die Lernerfahrung war ausgezeichnet und jetzt möchte ich sicherstellen, dass auch das Austauscherlebnis hervorragend ist. Ich hoffe, Sie fangen es leicht! Okay, also los geht's und ein paar sehr grundlegende Dinge über HAML wären: HAML steht für HTML Abstraction Markup Language. Es handelt sich um eine neue Template-Engine für Ruby auf Schienen. Es ist ein Ersatz für die RHTML-Vorlagen, die wir in Rails-Anwendungen so gewohnt sind.
Die Prinzipien von HAML sind, dass das Markup sein sollte Schön, Markup sollte sein TROCKEN (Wiederholen Sie sich nicht) und Markup sollten sein eingerückt. Ich hoffe, das ist keine Raketenwissenschaft.
Schienen Standardmäßig „eingebettetes Ruby“, also .erb Dateien beschreiben die HTML-Ausgabe mit dem notwendigen Ruby-Code, um die dynamischen Teile einer Seite zu generieren. HAML macht dasselbe, verfolgt jedoch einen minimalistischen Ansatz, wenn es um die Syntax geht. Die Leerraumregeln in HAML sind sehr streng. Die Verschachtelung erfolgt durch Einrückung. In HAML beginnen die Tags mit % und müssen nicht geschlossen werden. Sie sind durch Einkerbung selbst geschlossen. id=“abc“ wird nur #abc sein und class=“abc“ wird .abc sein. div ist das Standard-Tag und für alle anderen müssen wir %tag verwenden. <%= Etwas Ruby-Code%> wird nur =etwas Ruby-Code in HAML sein . Für Schleifen <% wird etwas Code%> zu -einigem Code in HAML. Syntax : !!! – Doctype-Bezeichner: zB !!! Streng Fügt eine HTML-DOCTYPE- oder XML-Deklaration ein. Der Standardwert ist XHTML 1.0 % – Elementspezifizierer, z. B. %h1: Umschließt alles Folgende in derselben Zeile *oder* verschachtelt in folgenden eingerückten Zeilen mit „Element“-Tags zum Öffnen/Schließen. # – ID-Bezeichner: z. B. #main oder %div#main Legt ein „id“-Attribut für ein Element fest. Wenn %element nicht angegeben ist, wird ein implizites „div“-Element erstellt. . – Klassenspezifizierer: z. B. .error oder %li.error Setzt ein „Klassen“-Attribut für ein Element. Wenn %element nicht angegeben ist, wird ein implizites „div“-Element erstellt. Klassen können mit mehreren Stunden verkettet werden. {} – Attribute: zB %input{:name => „title“, :length => „30“} Legt Attribute für ein Element fest und verwendet entweder Ruby-Hash-Schlüssel/Wert-Paare oder eine oder mehrere Ruby-Methoden, die einen Hash zurückgeben. / (am Ende der Tag-Definition) – selbstschließendes Tag: z. B. %br/Gibt ein selbstschließendes Tag an. (Einige Tags sind standardmäßig selbstschließend.) / (am Zeilenanfang) – Kommentar: zB / Hier sind Tiger. Erstellt einen HTML-Kommentar aus dem Inhalt derselben Zeile oder der darunter verschachtelten Zeile. – Escape-Zeichen: z. B. . (um einen Punkt am Anfang einer Zeile darzustellen) Ermöglicht die Darstellung von Sonderzeichen aus dieser Liste als Klartext. = – Ruby-Ausdruck: zB %h1= @content.title oder = @content.title Funktioniert genau wie der Erb =-Marker: Der darauf folgende Ruby-Ausdruck wird ausgewertet und sein Ergebnis in das Dokument eingefügt. Kann einem Tag folgen oder alleine in einer Reihe stehen. – – Nicht druckbarer Ruby-Code: z. B. – für Inhalte in @contents do Funktioniert genau wie der Erb –-Marker: Der Ruby-Ausdruck wird ausgewertet, aber es geht keine Ausgabe in das Dokument. Wird hauptsächlich für die Flusskontrolle und die eigenartige Rails-Form_for-Syntax verwendet. == – Ruby-interpolierte Zeichenfolge: z. B. %h1== Jetzt wird #{@content.title} bearbeitet. Funktioniert genauso wie = gefolgt von einer Zeichenfolge in doppelten Anführungszeichen. Der Inhalt wird mit Ruby-Variablenersetzungen als Literal behandelt. -# – Stiller Kommentar, z. B. -# Die Benutzer sind alle Idioten. Inhalte werden niemals ausgegeben. In HAML, es ist nicht nötig, den DOCTYPE zu schreiben, wir können ihn mit Hilfe von !!! einbinden. und !!!XML-Tags.
Die Einfachheit besteht darin, dass die RHTML Die HAML-Version hat etwa 261 Token im Vergleich zur HAML-Version, die nur etwa 117 Token hat. Zum Beispiel das Äquivalent des folgenden HTML-Codes <h1>HAML ist eine Template-Engine, Mona</h1> in ERB wird sein <h1>HAML ist eine Template-Engine,<%= @name%></h1>
Kann in HAML wie folgt geschrieben werden %h1 = „HAML ist eine Template-Engine,#{@name}“ Die Installation ist recht einfach. Sie können sie entweder durch Herunterladen des Plugins oder durch Gem-Installation installieren. $ sudo gem install haml #haml -Schienen Ich habe gerade eine Datei aus einem vorhandenen Projekt übernommen, z. B. .erb Datei und benannte sie um, um eine .haml Verlängerung. Dies ist meine alte .erb-Datei : <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 =>'neu' %> </center> und hier ist meine neue .haml-Datei: %center %table{:cellpadding=>5,:cellspacing=>5} %tr %td %ul %li= link_to @story.name, @story.link = link_to “Add New story”, :action =>’new’
Ist Ihnen etwas aufgefallen?
14 Zeilen wurden auf 7 Zeilen reduziert und es sieht auch wunderschön aus
Lassen Sie uns also einige sehr schön codierte Schienenanwendungen erstellen.
Nehmen Sie Kontakt mit uns auf.