Haml

Поделись знанием:
Перейти к: навигация, поиск
Haml
Тип

Язык разметки

Написана на

Ruby (официальная версия)

Лицензия

MIT License

К:Википедия:Статьи без изображений (тип: не указан)

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
        Все права защищены © Иван

Результат выполнения предыдущего кода.[чего?] (Откуда были взяты и как переданы данные наполнения?):

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang='ru' xml:lang='ru' xmlns='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'>
               Новый язык шаблонов для Rails
            </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.sourceforge.net phpHaml (PHP5)]
  • [wiki.github.com/dxw/Fammel Fammel (PHP)]
  • [phaml.sourceforge.net/ pHAML (PHP)]
  • [code.google.com/p/phamlp/ phamlp (PHP)]
  • [drupal.org/project/haml Drupal filter module]

.NET

  • [andrewpeters.net/2007/12/19/introducing-nhaml-an-aspnet-mvc-view-engine/ NHaml (.NET)]
  • [weblogs.asp.net/mirvodasergey/archive/2008/06/02/introducing-monorail-nhaml.aspx MonoRail NHaml (ASP.NET)]
  • [code.google.com/p/nhaml/ NHaml (.NET)]

Другие

  • [github.com/raymyers/JHaml JHaml (Java)]
  • [github.com/creationix/haml-js haml-js (JavaScript)]
  • [github.com/norman/lua-haml LuaHaml (Lua)]
  • [search.cpan.org/dist/Text-Haml/ Text::Haml (Perl)]
  • [github.com/jessemiller/HamlPy HamlPy (Python)]
  • [scalate.fusesource.org/index.html Scalate (Scala)]

См. также

Напишите отзыв о статье "Haml"

Ссылки

  • [haml.info/ Официальный сайт]
  • [github.com/haml/haml HAML] на GitHub
  • [groups-beta.google.com/group/haml?hl=en рассылка Haml] (англ.)
  • [podcast.rubyonrails.org/programs/1/episodes/hampton_catlin Интервью с создателем Haml в Rails-подкасте]

Отрывок, характеризующий Haml

За движением народов с запада на восток должно было последовать движение народов с востока на запад, и для этой новой войны нужен был новый деятель, имеющий другие, чем Кутузов, свойства, взгляды, движимый другими побуждениями.
Александр Первый для движения народов с востока на запад и для восстановления границ народов был так же необходим, как необходим был Кутузов для спасения и славы России.
Кутузов не понимал того, что значило Европа, равновесие, Наполеон. Он не мог понимать этого. Представителю русского народа, после того как враг был уничтожен, Россия освобождена и поставлена на высшую степень своей славы, русскому человеку, как русскому, делать больше было нечего. Представителю народной войны ничего не оставалось, кроме смерти. И он умер.


Пьер, как это большею частью бывает, почувствовал всю тяжесть физических лишений и напряжений, испытанных в плену, только тогда, когда эти напряжения и лишения кончились. После своего освобождения из плена он приехал в Орел и на третий день своего приезда, в то время как он собрался в Киев, заболел и пролежал больным в Орле три месяца; с ним сделалась, как говорили доктора, желчная горячка. Несмотря на то, что доктора лечили его, пускали кровь и давали пить лекарства, он все таки выздоровел.
Все, что было с Пьером со времени освобождения и до болезни, не оставило в нем почти никакого впечатления. Он помнил только серую, мрачную, то дождливую, то снежную погоду, внутреннюю физическую тоску, боль в ногах, в боку; помнил общее впечатление несчастий, страданий людей; помнил тревожившее его любопытство офицеров, генералов, расспрашивавших его, свои хлопоты о том, чтобы найти экипаж и лошадей, и, главное, помнил свою неспособность мысли и чувства в то время. В день своего освобождения он видел труп Пети Ростова. В тот же день он узнал, что князь Андрей был жив более месяца после Бородинского сражения и только недавно умер в Ярославле, в доме Ростовых. И в тот же день Денисов, сообщивший эту новость Пьеру, между разговором упомянул о смерти Элен, предполагая, что Пьеру это уже давно известно. Все это Пьеру казалось тогда только странно. Он чувствовал, что не может понять значения всех этих известий. Он тогда торопился только поскорее, поскорее уехать из этих мест, где люди убивали друг друга, в какое нибудь тихое убежище и там опомниться, отдохнуть и обдумать все то странное и новое, что он узнал за это время. Но как только он приехал в Орел, он заболел. Проснувшись от своей болезни, Пьер увидал вокруг себя своих двух людей, приехавших из Москвы, – Терентия и Ваську, и старшую княжну, которая, живя в Ельце, в имении Пьера, и узнав о его освобождении и болезни, приехала к нему, чтобы ходить за ним.