Citat:
Originalno napisao ivanhoe
A HAML mi je debilitet. U redu mi je zen-coding pristup za brzo pisanje html-a kroz skracenice koje se expanduju, to i koristim, ali raditi u potpuno novom jeziku poput HAML je meni glupost.
|
Misliš da nije malo preterano reći da je debilitet? Pa ti si i taj smarty o kome govoriš morao nekad da naučiš, zar ne? Meni eto HAML igra ulogu smartyja (jer je u isto vreme i templating i markup jezik), tako da nemam "dodatni nivo apstrakcije".
Sa druge strane, HAML je em čistiji em koncizniji od HTML-a. Razumem ljude kojima je smaranje (i u Railsu većina ljudi koristi ERB a ne HAML), ali treba skapirati da je nekom YAML-ovski pristup markupu prirodniji nego XML-ovski.
Da ne bude samo prazno naklapanje, imate ERB (525 characters; 24 lines):
Kôd:
<% if @users.empty? %>
<div class="empty_collection">
<em>Could not find any users.</em>
</div>
<% else %>
<table class="users_list">
<thead>
<tr>
<th>Name</th>
<th>Email</th>
<th>Age</th>
</tr>
</thead>
<tbody>
<% @users.each do |user| %>
<tr class="<%= cycle('odd','even') %>">
<td><%= user.name %></td>
<td><%= user.email %></td>
<td><%= user.age %></td>
</tr>
<% end %>
</tbody>
</table>
<% end %>
vs HAML (331 characters; 16 lines):
Kôd:
- if @users.empty?
.empty_collection
%em Could not find any users
- else
%table.users_list
%thead
%tr
%th Name
%th Email
%th Age
%tbody
- @users.each do |user|
%tr{:class => cycle('odd','even')}
%td= user.name
%td= user.email
%td= user.age