Haml (HTML abstraction markup language) — язык разметки для упрощённой генерации HTML. HAML компилируется в HTML.

Эквивалент Haml для CSS — это LESS или Sass.

Пример !!! %html{ html_attrs('ru') } %head %title Мой блог %meta(http-equiv="Content-Type" content="text/html; charset=utf-8") = stylesheet_link_tag "main" %body #header %h1 Мой блог %h2 Записи #content - @entries.each do |entry| .entry %h3.title= entry.title %p.date= entry.posted.strftime("%A, %B %d, %Y") %p.body= entry.body #footer %p.copyright Все права защищены © Иван

Результат выполнения предыдущего кода. Данные наполнения взяты из объекта entries на бэкэнде: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html lang='ru' xml:lang='ru' xmlns='http://www.w3.org/1999/xhtml'> <head> <title> Мой блог </title> <meta content='text/html; charset=utf-8' http-equiv='Content-Type' /> <link href="/stylesheets/main.css?" media="screen" rel="Stylesheet" type="text/css" /> </head> <body> <div id='header'> <h1> Мой блог </h1> <h2> Записи </h2> </div> <div id='content'> <div class='entry'> <h3 class='title'> Хеллоуин </h3> <p class='date'> Четверг, 31 октября, 2006 </p> <p class='body'> Ох уже эти американские праздники. </p> </div> <div class='entry'> <h3 class='title'> Новый язык ВКУСНЕЕ$ </h3> <p class='date'> Пятница, 11 августа, 2006 </p> <p class='body'> Haml — супер круто и жутко удобен. Моя Rails-душа наполнена счастьем. </p> </div> </div> <div id='footer'> <p class='copyright'> Все права защищены © Иван </p> </div> </body> </html>

Реализации Официальная реализация Haml написана на Ruby.

Реализации на других языках:

PHP phpHaml (PHP5) Fammel (PHP) pHAML (PHP) phamlp (PHP) Drupal filter module

.NET NHaml (.NET) MonoRail NHaml (ASP.NET) NHaml (.NET)

Другие JHaml (Java) haml-js (JavaScript) LuaHaml (Lua) Text::Haml (Perl) HamlPy (Python) Scalate (Scala)

См. также BBCode Markaby pHAML Slim (язык)

Примечания

Ссылки Официальный сайт HAML на GitHub рассылка Haml Интервью с создателем Haml в Rails-подкасте

Категория:Языки разметки Категория:Программное обеспечение с лицензией MIT Категория:Свободное программное обеспечение, написанное на Ruby