Convert existing html.erb to Haml
我有一个rails项目,视图仅包含HTML.ERB文件,我的客户希望将ERB转换为HAML。 我的视图文件太多。 逐个文件转换要花费大量时间。 这样我可以将HTML转换为haml的任何简单方法吗? 我在项目下安装了haml插件。
您可以从命令行使用html2haml
1 | html2haml your_erb_file new_haml_file |
如果要一次性转换所有文件,请查看此文章:http://shifteleven.com/articles/2008/06/08/converting-erb-to-haml-snippet
你去了:http://html2haml.heroku.com/
编辑:移至https://html2haml.herokuapp.com/
http://www.htmltohaml.com
所选答案的更用户友好的替代方法。
David Leung在github上提供了这个gem,它安装了两个rake任务。
使用erb2haml,您可以使用
在haml-rails git页面上,它提供了cli命令,可将项目中的所有erb都直接转换为haml。
将
运行:
很简单的
在您的
1 | gem"erb2haml", :group => :development |
然后运行
将
1 | rake haml:convert_erbs |
将
1 | rake haml:replace_erbs |
它将搜索项目中的所有
简而言之:使用在线转换器
http://www.htmltohaml.com
编辑:html2haml确实如广告所示工作,但是您必须使用从haml github仓库的当前主分支获得的版本。
rubygems当前提供的haml gem中包含的html2haml版本不好。如果您现在要执行
在这里,游戏还很晚,但是当寻找类似的解决方案时,这篇文章在Google中仍然占据很高的位置。
安装
1 2 3 | 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行中的所有错误。
- 归功于此Ask Ubuntu帖子的重命名行
html2haml现在位于html2haml gem中,因此您可以使用:
1 2 | $ gem install html2haml $ html2haml path/to/yourfile.html path/to/yourfile.haml |