我有一个rails项目,视图只包含HTML.ERB文件,我的客户端想要将ERB转换为HAML。我的文件太多了。这需要花费大量时间来逐个文件转换。那么我可以将HTML转换成haml的简单方法吗?我在我的项目下安装了haml插件。
答案 0 :(得分:98)
您可以在命令行中使用 html2haml
html2haml your_erb_file new_haml_file
如果您想一次转换所有文件,请查看以下文章:http://shifteleven.com/articles/2008/06/08/converting-erb-to-haml-snippet
答案 1 :(得分:26)
答案 2 :(得分:16)
对所选答案的一种更加用户友好的替代方案。
答案 3 :(得分:13)
David Leung在github上提供this gem,安装两个rake任务。
使用erb2haml,您可以使用rake haml:convert_erbs
或rake haml:replace_erbs
轻松地将整个项目从erb转换为haml。
答案 4 :(得分:10)
在haml-rails git page上,它提供了cli命令,可以在项目中将所有erb转换为haml。
将gem "haml-rails"
添加到您的Gemfile
运行:rake haml:erb2haml
答案 5 :(得分:9)
非常简单
在Gemfile
添加中
gem "erb2haml", :group => :development
然后运行bundle install
用于保存原始文件的*.erb
转换为*.haml
:
rake haml:convert_erbs
用于将*.erb
转换为*.haml
替换原始文件:
rake haml:replace_erbs
它会搜索项目中的所有erb
个文件并转换为haml
。
简写:使用在线转换器
答案 6 :(得分:4)
编辑:html2haml确实像宣传的那样工作,但你必须使用从haml github repoistory.的当前主分支获得的版本
目前可从rubygems获得的haml gem附带的html2haml版本并不好。如果您现在要gem install haml
,那么这是您将获得的版本。使用gem提供的版本将导致haml无效,因为它无法正确处理ruby。
答案 7 :(得分:1)
html2haml现在位于html2haml gem中,因此您可以使用:
$ gem install html2haml
$ html2haml path/to/yourfile.html path/to/yourfile.haml
答案 8 :(得分:1)
这里的游戏很晚,但是在搜索类似的解决方案时,这篇文章在Google中仍然很高。
安装html2haml
gem,弹出到你的app / views目录中,试试看:
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 {} \;
此解决方案的缺陷是它不会将旧的.erb文件的修订历史记录保留到新的.haml文件中。但有时那些视图文件的修订历史并不重要,这个解决方案对我很有帮助。
另外,在删除旧的.erb文件之前,请务必留意html2haml行中的任何错误。