特定の .erb を .haml に変換する

erb2haml

erb2haml | RubyGems.org | your community gem host を使えば,全ての .erb を .haml に変換できる.rake -T すると,以下の rake task が追加されてるので,それを実行するだけで良くてお手軽.

rake haml:convert_erbs    # Perform bulk conversion of all html.erb files to Haml in views folder
rake haml:replace_erbs    # Perform bulk conversion of all html.erb files to Haml in views folder, then remove the converted html.erb files

html2haml

ただし,特定の .erb だけを .haml に変換したい場合に不便なので,html2haml | RubyGems.org | your community gem host を使う.変換エンジンは別なので全く同じ .haml ができないケースもあるとは思うけど,基本的には問題ないはず.

実行方法は haml/html2haml · GitHub の README に載ってる通りで,ワンライナーでいける.find の引数のところを変えれば OK.

find . -name \*.erb -print | sed 'p;s/.erb$/.haml/' | xargs -n2 html2haml

まとめ

複数のテンプレートエンジンが共存してるシステムなどで,一部の .erb だけを .haml に変換してみたいときなどに役に立つかと思われます.