Конвертировать Haml в HTML без оценки встроенного скрипта Ruby - PullRequest
4 голосов
/ 01 июля 2011

Мне нужно преобразовать сценарии Haml в их эквивалентные сценарии HTML.Поскольку я делаю это вне и без запуска основного проекта rails, скрипты Ruby, присутствующие в файлах Haml, генерируют исключения (что очевидно).Теперь я не буду возражать, если в выходном HTML присутствует скрипт Ruby (в этом случае он будет выглядеть как 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 Ответ

2 голосов
/ 18 июля 2011

Рассматривали ли вы конвертер HAML в ERB ?

...