slimrb
Преобразование Slim в Erb. slimrb
консольная утилита запускается в командной строке. Использование Slim в качестве основного шаблонизатора очень удобно и продуктивно. Но накладывает ограничения на форматирование. Не всегда удобно, когда в команде работают специалисты разного уровня подготовки. Для сложных и объемных страниц может быть сложным. Slim - супер решение, но все же...
Когда наступает момент, что классический HTML лучше и понятней, хоть и многословней, можно применить slimrb
для конвертирования.
/ slim
.page
h1 Title
a href="/" home
= link_to 'home', '/'
slimrb -e page.html.slim
На выходе получим
<div class="page">
<h1>Title
</h1>
<a href="/">home
</a>
<%= ::Temple::Utils.escape_html((link_to 'home', '/')) %>
</div>
Чтобы очистить вывод от фильтров Slim, передать опции:
slimrb \
--option=disable_escape=true \
--option=use_html_safe=false \
-e page.html.slim > page.html.erb
на выходе получим HTML/ERB
<div class="page">
<h1>Title
</h1>
<a href="/">home
</a>
<%= link_to 'home', '/' %>
</div>
Опции
-s, --stdin - Читать данные со стандартного ввода
--trace - Подробный вывод ошибок
-с, --compile - Только компиляция
-e, --erb - Ковертировать в ERB
--rails - Создавать код, совместимый с Rails (включает --compile)
-r, --require library - Загружать библиотеку или плагин
-p, --pretty - Форматировать HTML
-o, --option name=value - Указать опцию Slim
-l, --locals Hash|YAML|JSON - Установить переменные
-h, --help - Вывод справки
-v, --version - Вывод версии
Форматирование при конвертирование работает "не очень", но можно применить другие утилиты, например, erb-format
gem install erb-formatter
Затем
slimrb \
--option="disable_escape=true" \
--option="use_html_safe=false" \
--option="tabsize=2" \
-erb page.html.slim | erb-format --stdin