在不评估内联Ruby脚本的情况下将Haml转换为HTML

时间:2011-07-01 13:24:29

标签: ruby haml

我需要将Haml脚本转换为等效的HTML脚本。由于我在外部执行此操作而未运行主rails项目,因此Haml文件中存在的Ruby脚本会抛出异常(这很明显)。现在,我不介意Ruby脚本是否存在于输出HTML中(在这种情况下,它看起来像一个erb,这对我来说很好)。我只关心一些html标签。

似乎我可以覆盖Haml::Engine#render(scope = Object.new, locals = {}, &block)方法然后它可以帮助。但没有完全得到它。

有什么想法吗?

更新

仅将- foo和= foo块转换为Erb <% foo %><%= foo %>(分别)将无法完全生效,因为插值将在那里,如:< / p>

%div{:class => "#{cycle("cssClass1", "cssClass2")} anotherCssClass"}

我案例的可接受输出可以是: <div class=<%= "#{cycle("cssClass1", "cssClass2")} anotherCssClass" %> ></div>

除了这些插值this以外,-=效果很好。

1 个答案:

答案 0 :(得分:2)

您是否查看了HAML to ERB converter gem