О Haml О Haml

Haml - язык разметки, который позволяет чисто и просто описать HTML любого веб-документа без использования встроенного кода. Haml действует как замена встраиваемым системам шаблонизации, таким как PHP, ASP, ERB и языки шаблонизации, используемые в большинстве Ruby on Rails приложениях. Тем не менее, Haml помогает избежать прямой верстки HTML в шаблон, так как он сам по себе описание HTML с некоторым кодом, генерирующим динамический контент.

Основные принципы

Разработка Haml как языка базируется на соблюдении нескольких основных принципов. Вот они:

  1. Разметка должна быть красивой

    Разметка не должна быть использована только как инструмент, полученный браузерами, для отображения страницы в том виде, как хотел автор документа. Отображение - это не единственная вещь, которую люди могут видеть. Они должны видеть, изменять и понимать разметку как это нужно. Таким образом, разметка в конечном виде должна быть удобной и приятной.

  2. Разметка должна быть по методу DRY (не повторяй себя)

    HTML состоит в основном из повторов. Каждый элемент описывается дважды: один раз до контента и один раз после. ERB добавляет еще больше ненужных параметров. HAML позволяет все это благодаря отступам, а не объявлению, где элементы и блоки начинаются и закачиваются. Это не только делает шаблон меньше по размерам, но и в разы увеличивает читабельность.

  3. Разметка должна быть хорошо отформатирована

    Одна из главных проблем ERB заключается не только в том, что он не опирается на чистоту отступов, он активно делает его сложным, а порой и невозможным для написания. Все это приводит к путанице, делает менее читаемым HTML, хотя на самом деле должно быть хорошо отформатированным и отражать основную структуру документа. HAML автоматически форматирует теги так, как оно и должно быть.

  4. Структура HTML должна быть "чистой"

    XML и HTML - форматы, построенные на идее структурированного документа. Структура - результат их разметки и они должны быть отражены в мета-разметке, такой как HAML потому, что логика Haml построена на отступах вложенных элементов, при этом нет нарушения структурирования, создание документа становится намного проще, а при чтении документа становится понятна логика практически всем.

История

Haml был создан потому, что Хамптон был очень раздражен ручным набором шаблонов. Так много достижений было достигнуто в веб-разработке, но создание шаблонов оставалось на прежнем уровне. Пришло время для чего-то нового.

Основываясь на тех расстройствах, Haml был создан как эксперимент. Как бы то ни было, Haml быстро доказал свою дееспособность в нескольких проектах компании Unspace Interactive. По факту, команда разработчиков компании отказалась от разработки на ERB и полностью перешли на разработку, основанную на Haml.

Haml быстро доказал свою продуктивность. А еще и дизайнеры полюбили Haml за его сходство с CSS. Стало лучше на "земле" веб-разработки - прибыл Haml.

Команда Haml

Haml был создан Hampton Catlin, автором оригинальной реализации. Однако, Хамптон не знает своего дальнейшего пути в Haml и сейчас только иногда консультирует по вопросам языка.

Natalie Weizenbaum много лет является основным разработчиком и архитектором современной реализации Haml на Ruby. Её тяжелая работа заключается в бесконечных ответах на форуме, исправлении ошибок, рефакторинге, поиске улучшения скорости работы, написании документации и внедрении новых возможностей. Это все позволяет держать проект в тонусе.

Norman Clarke - автор спецификации Haml и реализации Haml на языке Lua, над которой Норман взял руководство на себя в апреле 2012 года.

Созданием бренда и дизайна Haml занимается Nick Walsh.

Лицензия

Реализация Haml находится под юрисдикцией MIT лицензии.