Haml (HTML Abstraction Markup Language) — это мощный шаблонизатор (templating engine), разработанный для значительного упрощения и оптимизации процесса создания HTML-документов. Он в первую очередь используется в сфере веб-разработки, особенно в экосистеме Ruby on Rails и других фреймворках, основанных на языке Ruby, хотя существуют реализации и для других языков программирования. Основная цель Haml — минимизировать объем повторяющегося и многословного кода, который обычно ассоциируется с традиционным HTML, за счет использования лаконичного и элегантного синтаксиса, основанного на строгих отступах (indentation).
Вместо того чтобы явно использовать закрывающие теги, Haml полагается на иерархию отступов для определения структуры HTML-документа. Такой подход обеспечивает более чистый, читаемый и легкий в поддержке код. Haml также включает поддержку динамических функций, таких как переменные, циклы и условные операторы, что позволяет разработчикам создавать многократно используемые и гибкие шаблоны. Он активно поощряет соблюдение принципов DRY (Don't Repeat Yourself — Не повторяйся), позволяя определять многократно используемые компоненты и частичные шаблоны (partials). Файлы с расширением '.haml' обычно предварительно обрабатываются (preprocessed) на стороне сервера (server-side) с помощью движка Haml для генерации стандартного HTML, который затем отправляется клиентскому браузеру.