Nein. Es ist kein Hase, es ist ein Haml. Gerade über dieses erstaunliche Projekt gestolpert, muss ich es auch gleich mal bloggen. Was ist Haml? Und was macht es?
Haml ist eine Abstraktions-Auszeichnungssprache für Webfrontends, original entworfen für Ruby. Es erinnert mich an einen Mix aus CSS, Yaml und TextilePHP… Mit anderen Worten: Man beschreibt anhand strukturierter Ausdrücke den Aufbau einer HTML-Datei:
%h2 Überschrift %ul %li Eintrag 1 %li Eintrag 2
wird zu:
<h2>Überschrift</h2> <ul> <li>Eintrag 1</li> <li>Eintrag 2</li> </ul>
Im Haml-Labor kann man ein bisschen mit der Syntax rumspielen. Aber Haml kann noch ein bisschen mehr. Auch logische Verzweigungen und Schleifen sind möglich.
So kann man das:
<html><head>
<?php if ($title) { ?>
<title><?php echo $title; ?></title>
<?php } else { ?>
<title><?php echo $pagename; ?></title>
<?php } ?>
</head>
<body>
<div id=”header”>
<h1><?php echo $pagename; ?></h1>
<?php if ($slogan) { ?>
<span><?php echo $slogan; ?></span>
<?php } ?>
</div>
durch folgenden Haml-Code ersetzen:
%html%head - if ( $title) %title= $title - else %title= $pagename %body #header %h1 Example page - if ($slogan) %span= $slogan
Etwas übersichtlicher wirkt es ja schon, dieses Haml. Aber würde nicht auch der PHP Fetzen besser aussehen, wenn man ihn ein wenig mit Einrückungen und Blanks verziert?
Und wie kommen die echten Werte jetzt in die Haml-Variablen? Hier hilft das PHP Projekt “phpHaml” von Amadeusz Jasak weiter. Er stellt eine gut dokumentierte Klasse zur Verfügung, mit deren Hilfe man Haml-Templates parsen und in HTML umwandeln kann.
Trotzdem bin ich von diesem Logik-Gerammel in Templates nicht sonderlich begeistert. Immerhin bietet Haml eine Alternative zum PHP-Tag Geraffel in Templates, ob es übersichtlicher ist? Ich behaupte nein, aber es möge auch andere Stimmen geben.
Wer auf Haml aufsetzt sollte daran denken, dass es wie jede andere Templatesprache erstmal geparst werden muss. Und wenn der Parser selbst von einem Parser geparst wird, dann verschenkt man eben wertvolle Millisekunden.
Geschmacksache. Wie so oft.

















