Чтобы добавлять сообщения и комментарии, .

@proton:
proton

haml2slim — говно какое-то, очень хреново конвертит

@wyldrodney:
wyldrodney

<select name="host[period]" id="select02">

        <% %w(30 60 90 120 180 240 300 600).each do |period| %>
          <% selected = if @host.period.to_s == period %>
            <% ' selected="selected"' %>
          <% else %>
            <% '' %>
          <% end %>

          <%= raw '<option value="' + period + '"' + selected + '>' + period_to_s(period) + '</option>' %>
        <% end %>

      </select>

Есть некоторое мнение, говорящее что HAML был бы уместнее. Но так ломает на него переходить...

@demiazz:
demiazz

Очередной раз залез в сторону HAML. И решил еще разок посмотреть на Slim. Что-то везде разговоры, что ERB рвет их как тузик на скорость. Что Slim приятнее HAML. Но в итоге для себя сделал вывод, очередной так сказать раз:
1) ERB в топку, ибо мне хватило и Underscore Template и Django Template. Открывание и закрывание всяческих тегов занимает огромное количество времени, и раздражает неимоверно.
2) Посмотрев на Slim еще раз, после долгого времени без HAML и Rails — все равно не увидел преимуществ. Ну да, более Ruby приближенный, так как избавились от скобочек у параметров, и % перед тегом. Это отчасти удобно, но я хотя бы вижу этот % и вижу сразу — тег, а не просто ключевое слово. Очень сильная должна быть ставка на подстветку синтаксиса и соответствия спецификации в случае Slim.
3) А скорость. Да хрен со скоростью же. Стоимость человекочаса дороже, чем стоимость машиночаса. Да и тормоза же не от шаблона по большей части, а от Ruby, и... И вспомним, что у нас еще вложенные подшаблоны, партиалы и прочее — это скорости не добавляет, и в принципе уравнивает все три конкурента.

В итоге: мой выбор HAML!

@vessi:
vessi

прикрутил HAML к Yii. Впрочем, с тем же успехом можно прикрутить его и к Zend Framework. Кончил и закурил.

@demiazz:
demiazz

Как я уже неоднократно говорил, для H5BP есть великолепный плагин для Compass, и шаблон в нем HAML. Но, не всем нравится Compass, или не все будут его использовать. А в H5BP есть очень серьезная заковырка, которая мешает жить, в самом начале шаблона: условия IE. Вот на последнем условии HAML спотыкается, и красивого изкоробочного решения для него нет. Но, если заглянуть в плагин к компасу, то в lib можно найти великолепный хелпер. Для вставки реализации этой "шапки" H5BP хватит ie_tag, а остальные помощники типа jquery и Google Analytics — это приятные мелочи не всем нужные.

Лично я просто выдрал следующий кусок кода, и сделал себе хелпер, который подмешал прямо в ApplicationController. Код тут paste.pocoo.org как видно подчищенный от ненужных мне функций.

Так что, если вам не нужен компас (к примеру вы используете bourbon или вообще другой фреймворк), но используете HAML и хотите использовать H5BP — то решение как можно увидеть весьма простое и не сложное. Стоит так же обратить внимание на строку 14, которой в оригинале нет. Не знаю правда, почему автор забыл про открывающий [gt IE 8].

@demiazz:
demiazz

github.com Ускорение HAML. Довольно сильное ускорение должен сказать. Кстати. Хорошая мысль была высказана в комментах на reddit, что HAML хорош в роли прекомпилера ERB шаблонов, как CoffeeScript или SASS для своих областей. Но тут один недочет: 1) он не умеет этого 2) нужна реальная поддержка такой штуки не просто в виде умения компиляции.

К слову. Клон HAML на Python, именуемый HamlPy работает именно в сторону прекомпиляции Django Template'ов, помимо возможности компиляции просто HTML. Но зато тут другой бред. Какие-то умники вместо того, чтобы крутить его как плагин прекомпиляции, крутят его как шаблонизатор вместо тех же Django Template'ов или в совместительстве с ними, что смотрится страшно и вообще не должно так быть.

@demiazz:
demiazz

Вот еще одна маленькая прелесть, за которую обожаю HAML — он автоматически "сжимает" HTML-код. В отличии от многих стандартных шаблонизаторов типа ERB, Django Templates, Jinja2. Если ERB еще кое как, то пустые две три строки после нормально распределенного и визуально кода шаблоа — просто мозолят глаза. %)

@demiazz:
demiazz

Хм. Ходят слухи, будто Slim шустрее будет, чем HAML. Зашел на офсайт. Посмотрел синтаксис. Те же яйца, только в профиль. Мжет не привычно, но идея указания тега как `%тег` из HAML мне нравится больше, чем просто `tag` из Slim. В любом случае и однозначно, это тоже лучше, чем Erb для генерации HTML/XML. Но как замена для генерации других форматов — нет, но есть же для такого Erb )

@demiazz:
demiazz

Очередной раз, мою шкуру будут спасать эти три великолепных инструмента. И я очередной раз рекламирую их. Да. Такие дела.

@demiazz:
demiazz

Нашел HAML реализацию для Python. Не православный HAML, так как синтаксис очень незначительно поменяли в сторону Python, а так в остальном почти тоже. Из минусов — не нашел чистой привязки к Django, но оно умеет конвертиться в Django-шаблоны, так что Ок. Называется сие чудо HamlPy. На Django таки жизнь есть )

@rb:
rb

Сказ про то, как генерировать RSS из HAML.

blog.gun8.com

@demiazz:
demiazz

Тут у меня мысля возникла... А почему XML и иже с ним не заменить на HAML или что-то подобное? Ведь реально и меньше места занимает, и DOM-модель по сути сохраняется, но сам синтаксис становится нагляднее. Ну только да. Возможно, проблемой для многих станет двумерный синтаксис (так нелюбимый многими в Python).

@demiazz:
demiazz

Ах да. Ссылка: github.com

@demiazz:
demiazz

Ололо. Для Django есть конвертер HAML-like языка в Django Templates ^_^ это же просто класс. Вот только интересно, каким образом оно работает. Но HAML весьма удачен, надо сказать,ь для HTML

@demiazz:
demiazz

Статья, как быстро настроить Sinatra приложение для работы с HAML+Compass+Blueprint. blog.crowdint.com

@demiazz:
demiazz

А Haml умеет content_for? А то, я чего то не нашел ни единой зацепки. Если нет, то какого спрашивается я его смотрю O_o

@demiazz:
demiazz

Если вы хотите пользовать HAML или Slim вместе с Devise — то вот тут есть как конвертировать views github.com По умолчанию, Devise отключили поддержку HAML. С помощью указанной утилиты html2haml можно похоже и конвертить и HTML5Boilerplate шаблоны, написанные на базе ERB. (:

@idler-max:
idler-max

Дважды услышал на richclient упоминание о HAML — полез посмотреть — понравилось! Оказалось — есть PHP реализация шаблонизатора. Скачал, просмотрел, уже не все нравится, но интересно. Будем посмотреть, когда будем have a time.

@vti:
vti

Внес свою реализацию на википедию en.wikipedia.org :)

@vti:
vti

Haml парсер на Perl github.com

@IAR:
IAR

ru.wikipedia.org