I’m playing around with merb so I’m using merb-gen to create some basic scaffolding; however, I’m not using ERB, the default rendering engine, I want to use haml

Haml comes with a script, html2haml, which can take HTML with ERB and convert it nicely to haml. Seeing as I would have to run that command more than once, I have a little command snippet that I like to use to aid with the conversion.

$ find . -name '*erb' | \
xargs ruby -e 'ARGV.each { |i| puts "html2haml -r #{i} #{i.sub(/erb$/,"haml")}"}'

That will print out what the html2haml commands would be, it does *not* run the command. I do that step such that I can review what will be converted. If I like what’s going to be done, then I just run that command and pipe it into bash…like so

$ find . -name '*erb' | \
xargs ruby -e 'ARGV.each { |i| puts "html2haml -r #{i} #{i.sub(/erb$/,"haml")}"}' | \
bash

If you like it, it probably wouldn’t hurt storing that as a shell script somewhere :)

Published in Ruby off Rails
Tags: , , ,

2 Responses to “Converting ERB to HAML snippet”

  1. September 26th, 2008 at 3:55 pm #Emmanuel Oga

    Nice trick, I like it :)

    Greets

  2. January 22nd, 2010 at 1:05 pm #Satyajit

    Very useful script, I would only want a way to remove the .erb files after conversion.
    I did a seperate rm `find . -name ‘*erb’` Is there a way to combine them other than say using &&

Leave a Reply