我有一个rails项目,视图只包含HTML.ERB文件,我的客户想要将ERB转换为HAML。我有太多的视图文件,逐个文件转换需要花费大量时间。是否有简单的方法可以将HTML转换为haml?我在我的项目中安装了haml插件。
我有一个rails项目,视图只包含HTML.ERB文件,我的客户想要将ERB转换为HAML。我有太多的视图文件,逐个文件转换需要花费大量时间。是否有简单的方法可以将HTML转换为haml?我在我的项目中安装了haml插件。
你可以使用命令行工具 html2haml
html2haml your_erb_file new_haml_file
如果您想一次性转换所有文件,请参考此文章:http://shifteleven.com/articles/2008/06/08/converting-erb-to-haml-snippetgem "haml-rails"
运行: rake haml:erb2haml
David Leung 在 Github 上提供了 这个宝石,可以安装两个 rake 任务。
使用 erb2haml,您可以通过 rake haml:convert_erbs
或 rake haml:replace_erbs
轻松将整个项目从 erb 转换为 haml。
非常简单
在您的 Gemfile
中添加
gem "erb2haml", :group => :development
接着运行bundle install
将*.erb
转换为*.haml
并保留原始文件的方法如下:
rake haml:convert_erbs
将*.erb
转换成*.haml
并替换原始文件的方法如下:
rake haml:replace_erbs
它将搜索项目中的所有 erb
文件并转换为 haml
。
缩略语:使用在线转换器
编辑:html2haml确实像宣传的那样有效,但是您必须使用从haml github仓库当前主分支获取的版本。
包含在rubygems中可用的haml gem中的html2haml版本没有用。如果您现在执行gem install haml
,将会得到这个版本。使用与gem提供的版本会导致无效的haml,因为它不能正确处理ruby。
find ./ -name '*.erb' -exec html2haml -e {} {}.haml \;
find ./ -name "*.erb.haml" -exec sh -c 'mv "$1" "${1%.erb.haml}.haml"' _ {} \;
find ./ -name '*.erb' -exec rm {} \;
html2haml现在已经包含在html2haml gem中,所以你可以使用:
$ gem install html2haml
$ html2haml path/to/yourfile.html path/to/yourfile.haml
html2haml
,它似乎工作得很好。 - Jason Swett