Преобразование Haml в HTML без оценки встроенного сценария Ruby
Мне нужно преобразовать сценарии Haml в их эквивалентные HTML-скрипты. Поскольку я делаю это вне и без запуска основного проекта rails, сценарии Ruby, присутствующие в файлах Haml, выбрасывают исключения (что очевидно). Теперь я не буду возражать, если сценарий Ruby присутствует в выходном HTML (в этом случае он будет выглядеть как erb, это нормально для меня). Меня интересуют только некоторые html-теги.
Похоже, что если я могу переопределить метод Haml::Engine#render(scope = Object.new, locals = {}, &block)
, то это может помочь. Но не получаю его полностью.
Есть идеи?
Обновить
Преобразование только -
foo и =
foo блоков в Erb <% foo %>
и <%= foo %>
(соответственно) не будет работать полностью, потому что интерполяция будет там, как:
%div{:class => "#{cycle("cssClass1", "cssClass2")} anotherCssClass"}
Приемлемым выходом для моего случая может быть:
<div class=<%= "#{cycle("cssClass1", "cssClass2")} anotherCssClass" %> ></div>
Кроме этих интерполяцийэта хорошо работает для -
и =
.
1 ответ:
Вы заглядывали в HAML to ERB конвертер gem ?