05
ruby./script/plugin install
css#content .left.column %h2 Welcome to our site! %p= print_information .right.column= render :partial => “sidebar”
Markaby and HAML: Markup for Ruby
Posted on September 05, 2007
Eu vejo pouca gente comentando por aqui mas para quem gosta de abstrações, deveriam tentar Markaby. Para que serve? Que tal ‘escrever XHTML em Ruby’. Quem acha que templating tradicional é “feio”, existem opções muito simples e atrativas.
Instale assim:
1 2 |
script/plugin install
http://code.whytheluckystiff.net/svn/markaby/trunk
|
Para que ele serve? Como o próprio nome diz: para escrever markup (HTML) em Ruby:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
head do
title action_name
stylesheet_link_tag 'scaffold'
end
body do
h1 'Listing products'
table.editor.classic do
tr do
for column in Product.content_columns
th column.human_name
end
end
for product in @products
tr do
for column in Product.content_columns
td product.send(column.name)
end
td { link_to 'Show', :action => 'show', :id => product }
td { link_to 'Edit', :action => 'edit', :id => product }
td { link_to 'Destroy', { :action => 'destroy', :id => product }, :confirm => 'Are you sure?' }
end
end
end
link_to 'Previous page', { :page => @product_pages.current.previous } if @product_pages.current.previous
link_to 'Next page', { :page => @product_pages.current.next } if @product_pages.current.next
br
link_to 'New product', :action => 'new'
end
end
|
Interessante. Eu pessoalmente prefiro o XHTML puro (uso o ERubis, que é um ERB mais performático e para o desenvolvedor é transparente).
Outra opção semelhante ao Markaby é o HAML. A instalação é o de sempre:
ruby./script/plugin install
http://svn.hamptoncatlin.com/haml/tags/stable
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
De acordo com o tutorial do HAML, este é um XHTML "feio":
--- xml<div id='content'>
<div class='left column'>
<h2>Welcome to our site!</h2>
<p>
<%= print_information %>
</p>
</div>
<div class="right column">
<%= render :partial => "sidebar" %>
</div>
</div>
|
E esta é a versão que vai gerar o mesmo resultado, mas escrito em HAML:
css#content .left.column %h2 Welcome to our site! %p= print_information .right.column= render :partial => “sidebar”
blog comments powered by Disqus
Archives
- February 12(2)
- December 11(1)
- November 11(4)
- October 11(6)
- September 11(5)
- August 11(1)
- July 11(5)
- May 11(4)
- April 11(11)
- March 11(4)
- February 11(3)
- January 11(4)
- December 10(9)
- November 10(2)
- October 10(10)
- September 10(4)
- August 10(6)
- July 10(14)
- June 10(16)
- May 10(8)
- April 10(14)
- March 10(9)
- February 10(6)
- January 10(14)
- December 09(10)
- November 09(10)
- October 09(7)
- September 09(19)
- August 09(4)
- July 09(12)
- June 09(7)
- May 09(12)
- April 09(11)
- March 09(9)
- February 09(9)
- January 09(12)
- December 08(14)
- November 08(20)
- October 08(15)
- September 08(18)
- August 08(25)
- July 08(13)
- June 08(21)
- May 08(29)
- April 08(27)
- March 08(12)
- February 08(32)
- January 08(31)
- December 07(27)
- November 07(30)
- October 07(25)
- September 07(28)
- August 07(16)
- July 07(15)
- June 07(16)
- May 07(7)
- April 07(13)
- March 07(8)
- February 07(9)
- January 07(24)
- December 06(17)
- November 06(17)
- October 06(15)
- September 06(38)




