47

我有一个 rails 项目,视图只包含 HTML.ERB 文件,我的客户想要将 ERB 转换为 HAML。我的视图文件太多。逐个文件转换需要大量时间。那么我可以将HTML转换为haml的任何简单方法吗?我在我的项目下安装了haml插件。

4

9 回答 9

100

您可以从命令行使用html2haml

html2haml your_erb_file new_haml_file

如果您想一次性转换所有文件,请查看这篇文章:http ://shifteleven.com/articles/2008/06/08/converting-erb-to-haml-snippet

于 2010-02-11T11:56:55.683 回答
27

你去:http ://html2haml.heroku.com/

编辑:移至https://html2haml.herokuapp.com/

于 2010-02-11T07:47:53.540 回答
17

http://www.htmltohaml.com

所选答案的更用户友好的替代方案。

于 2012-07-12T23:25:33.723 回答
13

David Leung在 github 上提供了这个 gem ,它安装了两个 rake 任务。

使用 erb2haml,您可以使用rake haml:convert_erbs或轻松将整个项目从 erb 转换为 haml rake haml:replace_erbs

于 2013-09-29T06:30:22.200 回答
11

haml-rails git 页面上,它提供了 cli 命令来在您的项目中将所有 erb 转换为 haml。

添加gem "haml-rails"到您的 Gemfile

跑:rake haml:erb2haml

于 2015-10-20T03:51:52.250 回答
9

非常简单

在你的Gemfile添加

gem "erb2haml", :group => :development

然后运行bundle install

转换*.erb*.haml保留原始文件:

rake haml:convert_erbs

对于转换*.erb*.haml替换原始文件,请执行以下操作:

rake haml:replace_erbs

它将搜索erb项目中的所有文件并转换为haml.

速记:使用在线转换器

http://www.htmltohaml.com

于 2015-09-15T08:39:05.260 回答
4

编辑: html2haml 确实像宣传的那样工作,但是您必须使用从 haml github 存储库的当前主分支获得的版本

rubygems 目前提供的 haml gem 中包含的 html2haml 版本不好。如果您现在就这样做,这是您将获得的版本gem install haml。使用 gem 提供的版本将导致无效的 haml,因为它无法正确处理 ruby​​。

于 2010-02-11T19:48:19.107 回答
1

html2haml 现在位于 html2haml gem 中,因此您可以使用:

$ gem install html2haml
$ html2haml path/to/yourfile.html path/to/yourfile.haml
于 2013-04-26T00:37:39.843 回答
1

这里的游戏已经很晚了,但是在搜索类似的解决方案时,这篇文章在谷歌中仍然很高。

安装html2hamlgem,进入你的 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 行中的任何错误。

于 2015-06-24T13:34:55.727 回答