Преобразование 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 4

1 ответ:

Вы заглядывали в HAML to ERB конвертер gem ?