Haml

język programowania

Haml (XHTML Abstraction Markup Language) – język znaczników używany do prostego i przejrzystego opisywania XHTML. Został stworzony, aby obejść wiele niedoskonałości tradycyjnych systemów szablonów używając zarazem eleganckiej składni. Głównym zadaniem Hamla jest zastąpienie dotychczasowych systemów szablonów, jak PHP, RHTML czy ASP.

Haml
Logo Haml
Logo programu
Autor Nathan Weizenbaum, Hampton Catlin
Aktualna wersja stabilna 6.3.0
(10 grudnia 2023) [±]
System operacyjny Cross-platform
Rodzaj Silnik szablonów
Licencja MIT
Strona internetowa

Odpowiednikiem Hamla dla CSS jest Sass, który jest rozpowszechniany razem z Hamlem.

Przykład zastosowania edytuj

!!!
%html{ :xmlns => "http://www.w3.org/1999/xhtml", :lang => "en", 'xml:lang' => "en" }
  %head
    %title BoBlog
    %meta{ 'http-equiv' => 'Content-Type', :content => 'text/html; charset=utf-8' }/
    = stylesheet_link_tag 'main'
  %body
    #header
      %h1 BoBlog
      %h2 Bob's Blog
    #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
        All content copyright © Bob

W rezultacie da XHTML:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang='en' xml:lang='en' xmlns='http://www.w3.org/1999/xhtml'>
  <head>
    <title>BoBlog</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>BoBlog</h1>
      <h2>Bob's Blog</h2>
    </div>
    <div id='content'>
      <div class='entry'>
        <h3 class='title'>Halloween</h3>
        <p class='date'>Tuesday, October 31, 2006</p>
        <p class='body'>
          Happy Halloween, glorious readers! I'm going to a party this evening... I'm very excited.
        </p>
      </div>
      <div class='entry'>
        <h3>New Rails Templating Engine</h3>
        <p class='date'>Friday, August 11, 2006</p>
        <p class='body'>
          There's a very cool new Templating Engine out for Ruby on Rails. It's called HAML.
        </p>
      </div>
    </div>
    <div id='footer'>
      <p>
        All content copyright © Bob
      </p>
    </div>
  </body>
</html>

Powszechny użytek edytuj

Haml jest używany w kilku projektach Open Source (na przykład How'd They Vote czy Contentopolis), jest także wykorzystywany przez strony o charakterze komercyjnym.

Zobacz też edytuj

Linki zewnętrzne edytuj