Recentemente ho avuto modo di conoscere HAML per aver sostenuto il mio Applicazione delle rotaie e ho scoperto alcuni fatti molto interessanti che volevo condividere con voi ragazzi. L'esperienza di apprendimento è stata eccellente e ora voglio assicurarmi che anche l'esperienza di condivisione sia eccellente. Spero che lo prenderai facilmente! Ok, eccoci qui e alcune cose basilari su HAML sarebbero: HAML sta per HTML Abstraction Markup Language. È un nuovo motore di modelli per Rubino sui binari. È un sostituto dei modelli RHTML a cui siamo così abituati nelle applicazioni ferroviarie.
I principi di HAML sono che il markup dovrebbe essere Bellissimo, il markup dovrebbe essere ASCIUTTO (Non ripeterti) e il markup dovrebbero esserlo rientrato. Spero che questa non sia scienza missilistica.
Rotaie "Ruby incorporato" per impostazione predefinita, ovvero .erba i file descrivono l'output HTML con del codice Ruby necessario per generare le parti dinamiche di una pagina. HAML fa lo stesso ma adotta un approccio minimalista per quanto riguarda la sintassi. Le regole sugli spazi bianchi in HAML sono molto rigide. L'annidamento è gestito dal rientro. In HAML i tag iniziano con % e non è necessario chiuderli. Sono autochiusi tramite rientranza. id="abc" sarà solo #abc e class="abc" sarà .abc div è il tag predefinito e per tutti gli altri dobbiamo usare %tag <%= Some ruby code%> sarà solo =some ruby code in HAML . I cicli For <% some code%> diventeranno -some code in HAML. Sintassi: !!! – identificatore del tipo di documento: es !!! Strict Inserisce una dichiarazione HTML DOCTYPE o XML. L'impostazione predefinita è XHTML 1.0 % – identificatore di elemento, ad esempio %h1: racchiude tutto ciò che segue nella stessa riga *o* annidato nelle seguenti righe rientrate con tag 'elemento' di apertura/chiusura. # – specificatore id: ad esempio #main o %div#main Imposta un attributo 'id' su un elemento. Se %element non è specificato, crea un elemento 'div' implicito. . – identificatore di classe: ad esempio .error o %li.error Imposta un attributo 'class' su un elemento. Se %element non è specificato, crea un elemento 'div' implicito. Le lezioni possono essere concatenate con più periodi. {} – attributi: es. %input{:name => “title”, :length => “30”} Imposta gli attributi su un elemento, prendendo coppie chiave/valore hash Ruby o uno o più metodi Ruby che restituiscono un hash. / (alla fine della definizione del tag) – tag a chiusura automatica: ad es. %br/Specifica un tag a chiusura automatica. (Alcuni tag si chiudono automaticamente per impostazione predefinita.) / (all'inizio della riga) – commento: es / Qui ci sono le tigri. Crea un commento HTML dal contenuto nella stessa riga o da quello annidato sotto. – carattere di escape: es. (per visualizzare un punto all'inizio di una riga) Consente di visualizzare i caratteri "speciali" di questo elenco come testo semplice. = – Espressione Ruby: es. %h1= @content.title o = @content.title Funziona proprio come il marcatore Erb =: l'espressione Ruby che segue viene valutata e il suo risultato inserito nel documento. Può seguire un tag o stare in una riga da sola. – – Codice Ruby non stampabile: es – per il contenuto in @contents do Funziona proprio come il marcatore Erb: l'espressione Ruby viene valutata ma nel documento non viene inserito alcun output. Utilizzato principalmente per il controllo del flusso e la bizzarra sintassi form_for di Rails. == – Stringa interpolata Ruby: es. %h1== Ora sto modificando #{@content.title} Funziona proprio come = seguito da una stringa tra virgolette doppie. Il contenuto viene trattato come letterale con le sostituzioni delle variabili Ruby. -# – Commento silenzioso, ad esempio -# Gli utenti sono tutti idioti. Il contenuto non viene mai prodotto. In HAML, non è necessario scrivere il DOCTYPE, possiamo includerlo con l'aiuto di !!! e !!!tag XML.
La semplicità è che il HTML la versione ha circa 261 token rispetto alla versione HAML che ha solo circa 117 token. Ad esempio, l'equivalente del seguente codice html <h1>HAML è un motore di template,Mona</h1> nell'ERB sarà <h1>HAML è un motore di modelli,<%= @name%></h1>
Può essere scritto come segue in HAML %h1 = "HAML è un motore di modelli,#{@name}" L'installazione è abbastanza semplice, puoi installarla scaricando il plugin o installando gem. $ sudo gem installa haml #haml -rotaie Ho appena preso un file da un progetto esistente, ad esempio .erba file e lo ho rinominato per avere un'estensione .haml estensione. Questo è il mio vecchio file .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 =>'nuovo' %> </center> ed ecco il mio nuovo file .haml: %center %table{:cellpadding=>5,:cellspacing=>5} %tr %td %ul %li= link_to @story.name, @story.link = link_to “Add New story”, :action =>’new’
Notato qualcosa?
14 righe sono state ridotte a 7 righe e anche questo sembra bellissimo
Quindi, creiamo alcune applicazioni di binari meravigliosamente codificate.
Mettiti in contatto con noi.