Haml | ||
---|---|---|
Información general | ||
Tipo de programa | Motor de plantillas | |
Desarrollador | Nathan Weizenbaum, Hampton Catlin | |
Licencia | Licencia MIT | |
Versiones | ||
Última versión estable | 4.0.7 ( 10 de agosto de 2015) | |
Enlaces | ||
Haml (en inglés, HTML Abstraction Markup Language) es un lenguaje de marcado ligero que se usa para describir el XHTML de un documento web sin emplear el código embebido tradicional. Está diseñado para solucionar varios problemas de los motores de plantillas tradicionales y también para ser un lenguaje de marcado tan elegante como sea posible. Haml funciona como reemplazo de sistemas de plantillas de páginas embebidas como PHP, RHTML y ASP. Sin embargo, Haml elimina la necesidad de escribir XHTML explícito dentro de la plantilla, por ser en sí una descripción de XHTML, más algo de código para generar contenido dinámico.
El equivalente de Haml para CSS es Sass.
Nota: este es un simple ejemplo de muestra y puede no reflejar la versión actual del lenguaje.
!!!
%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"}
%link{"rel" => "stylesheet", "href" => "main.css", "type" => "text/css"}
%body
#header
%h1 BoBlog
%h2 Blog de Bob
#content
- @entries.each do |entry|
.entry
%h3.title= entry.title
%p.date= entry.posted.strftime("%A %d de %B de %Y")
%p.body= entry.body
#footer
%p Copyright © 2012 Bob. Algunos derechos reservados.
El Haml de arriba produce este 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>Blog de Bob</h2>
</div>
<div id='content'>
<div class='entry'>
<h3 class='title'>Halloween</h3>
<p class='date'>martes 31 de octubre de 2006</p>
<p class='body'>
¡Feliz Halloween, gloriosos lectores! Esta noche iré a una fiesta... estoy muy emocionado.
</p>
</div>
<div class='entry'>
<h3 class='title'>Nuevo motor de plantillas para Rails</h3>
<p class='date'>viernes 11 de agosto de 2006</p>
<p class='body'>
Acaba de salir un motor de plantillas muy bueno para Ruby on Rails. Se llama Haml.
</p>
</div>
</div>
<div id='footer'>
<p>
Copyright © 2012 Bob. Algunos derechos reservados.
</p>
</div>
</body>
</html>
La implementación oficial de Haml está hecha para el lenguaje de programación Ruby con extensiones para Ruby on Rails y Merb, no obstante la implementación de Ruby también funciona de manera independiente.
Haml fue inventado en mayo de 2006 por Hampton Catlin. Sin embargo, Nathan Weizenbaum es el responsable de la madurez del código de Haml.