Dobry wybór to Haml. W Haml piszemy wysoce uporządkowane znaczniki, które przypominają uproszczoną formę HTML i gdzie zwykłe rzeczy mają łatwe skróty. Na przykład dodanie elementu, div
, , lub class
odbywa się po prostu przez zmianę jednego znaku.
Pozwala nawet przekazywać zmienne i operować na nich w wybranym języku, odkładając na język skryptowy, dzięki czemu jest on skuteczniejszy niż HTML, ponieważ niejawny skrypt sprawia, że Turing-complete.
Oto przykład:
%body
#header
%h1 Bob Loblaw's Law Blog
%h2 by Bob Loblaw
#content
- @entries.each do |entry|
.entry
%h3.title= entry.title
%p.date= entry.posted
#footer
%p
All content copyright © Bob Loblaw.
To staje się czymś w rodzaju:
<div id='header'>
<h1>Bob Loblaw's Law Blog</h1>
<h2>by Bob Loblaw</h2>
</div>
<div id='content'>
<div class='entry'>
<h3 class='title'>You don't need double-talk; you need Bob Loblaw</h3>
<p class='date'>Tuesday, October 31, 2006</p>
</div>
<div class='entry'>
<h3 class='title'>Why should you go to jail for a crime someone else noticed?</h3>
<p class='date'>Friday, August 11, 2006</p>
</div>
</div>
<div id='footer'>
<p>
All content copyright © Bob Loblaw.
</p>
</div>
Ogólna odpowiedź na to pytanie to "szablon". Dla ogromnej listy, która porównuje je na bazie funkcji, zobacz [tę stronę wikipedii] (http://en.wikipedia.org/wiki/Comparison_of_web_template_engines) – MarioDS