О Haml
Haml - язык разметки, который позволяет чисто и просто описать HTML любого веб-документа без использования встроенного кода. Haml действует как замена встраиваемым системам шаблонизации, таким как PHP, ASP, ERB и языки шаблонизации, используемые в большинстве Ruby on Rails приложениях. Тем не менее, Haml помогает избежать прямой верстки HTML в шаблон, так как он сам по себе описание HTML с некоторым кодом, генерирующим динамический контент.
Основные принципы
Разработка Haml как языка базируется на соблюдении нескольких основных принципов. Вот они:
Разметка должна быть красивой
Разметка не должна быть использована только как инструмент, полученный браузерами, для отображения страницы в том виде, как хотел автор документа. Отображение - это не единственная вещь, которую люди могут видеть. Они должны видеть, изменять и понимать разметку как это нужно. Таким образом, разметка в конечном виде должна быть удобной и приятной.
Разметка должна быть по методу DRY (не повторяй себя)
HTML состоит в основном из повторов. Каждый элемент описывается дважды: один раз до контента и один раз после. ERB добавляет еще больше ненужных параметров. HAML позволяет все это благодаря отступам, а не объявлению, где элементы и блоки начинаются и закачиваются. Это не только делает шаблон меньше по размерам, но и в разы увеличивает читабельность.
Разметка должна быть хорошо отформатирована
Одна из главных проблем ERB заключается не только в том, что он не опирается на чистоту отступов, он активно делает его сложным, а порой и невозможным для написания. Все это приводит к путанице, делает менее читаемым HTML, хотя на самом деле должно быть хорошо отформатированным и отражать основную структуру документа. HAML автоматически форматирует теги так, как оно и должно быть.
Структура 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 лицензии.