2010-02-11 3 views
44

У меня есть проект rails, представления состоят только из файлов HTML.ERB, мой клиент хочет конвертировать ERB в HAML. У меня слишком много файлов представлений. Для преобразования файла по файлу требуется огромное количество времени. Так что любой простой способ я могу преобразовать HTML в haml? В моем проекте я установил плагин haml.Преобразование существующего html.erb в Haml

ответ

26

Там вы идете: http://html2haml.heroku.com/

+0

, если у меня есть HTML тег изображения

+12

Это не «плохой» ответ, но он не должен восприниматься как лучший ответ. Инструмент командной строки (ниже) лучше. –

+1

Пожалуйста, прочитайте сообщение, он сказал, что не хочет конвертировать каждый отдельный файл. – JackHasaKeyboard

96

Вы можете использовать из командной строки html2haml

html2haml your_erb_file new_haml_file 

Если вы хотите, чтобы преобразовать все файлы в одном дыхании, посмотрите на эту статью: http://shifteleven.com/articles/2008/06/08/converting-erb-to-haml-snippet

+3

В соответствии с [последним исходным кодом html2haml] (https://github.com/haml/html2haml) html2haml «находится в процессе извлечения из драгоценного камня haml». –

+2

теперь [отдельный камень] (https://github.com/haml/html2haml). похоже, что текущая сборка тоже не проходит. –

+0

Я не слишком уверен в том, какими должны быть последствия вышеупомянутых двух комментариев. Я решил дать командной строке 'html2haml' выстрел, и, похоже, он работает нормально. –

4

EDIT: html2haml работает как рекламируется, однако вы должны использовать версию, полученную из текущей главной ветви haml github repoistory.

Версия html2haml, прилагаемая к драгоценному камню haml, доступная в настоящее время от рубигемов, не годится. Это версия, которую вы получите, если вы сейчас будете делать gem install haml. Использование версии, поставляемой с драгоценным камнем, приведет к недействительной haml, поскольку она не сможет обработать рубин должным образом.

+1

Просто хотел добавить, что на данный момент (2011/7/21) работает hmml2haml haml gem. Однако вам нужно «gem install hpricot» и «gem install ruby_parser» поверх haml. Если вы попытаетесь выполнить преобразование erb-> haml, оно предложит вам установить эти драгоценные камни. –

1

html2haml теперь в html2haml камне, так что вы можете использовать:

$ gem install html2haml 
$ html2haml path/to/yourfile.html path/to/yourfile.haml 
+0

Ответ на весь запрос - это то, что нужно, а не отдельные файлы. никто не хочет печатать отдельные файлы. это всего на один шаг выше, делая это вручную. задача приложения будет обрабатывать отдельные файлы. – ahnbizcad

13

David Leung обеспечивает this gem на GitHub, который устанавливает две задачи рек.

С помощью erb2haml вы можете легко преобразовать весь проект от erb в haml с rake haml:convert_erbs или rake haml:replace_erbs.

1

Путь к игре здесь, но этот пост все еще летает высоко в Google при поиске похожих решений.

Установите html2haml камень, поп в ваше приложение каталог/просмотры и дать этому попытку:

find ./ -name '*.erb' -exec html2haml -e {} {}.haml \; 
find ./ -name "*.erb.haml" -exec sh -c 'mv "$1" "${1%.erb.haml}.haml"' _ {} \; 
find ./ -name '*.erb' -exec rm {} \; 

Недостаток этого решения заключается в том, что она не сохраняет историю изменений из ваших старых .erb файлов ваши новые файлы .haml. Но временами, когда история пересмотра этих файлов просмотра не имеет большого значения, это решение мне очень понравилось.

Кроме того, перед удалением старых файлов .erb обязательно следите за любыми ошибками в строке html2haml.

8

очень просто

в вашем Gemfile добавить

gem "erb2haml", :group => :development 

затем запустить bundle install

Fo г Преобразование *.erb в *.haml сохраняя оригинальные файлы сделать:

rake haml:convert_erbs 

для конвертирования *.erb в *.haml заменяющие оригинальные файлы сделать:

rake haml:replace_erbs 

он будет искать все erb файлы в проекте и конвертировать в haml.

Для стенографии: использование он-лайн конвертер

http://www.htmltohaml.com

9

На haml-rails git page, она обеспечивает командной строки, чтобы сделать конвертировать все Еврорадио в Haml прямо в вашем проекте.

добавить gem "haml-rails" к вашему Gemfile

пробег: rake haml:erb2haml

+0

Так легко, и ПУТЬ лучше, чем тянуть в другой камень ИМО. – labyrinth

Смежные вопросы