Je fais un peu de HS sur le sujet, mais comme c'est dans la continuité de la discussion et que c'est directement lié aux avantages d'un moteur tel qu'HAML, je me permets de mettre ce message à la suite .
J'ai terminé mon moteur de template qui est un mix entre Talus Tpl' et l'HAML.
Les trois motifs de base de ce moteur de template sont les suivants :
1. Avoir un code source en entrée qui soient moins verbeux.
2. Avoir un code source en sortie parfaitement indenté et présentable.
3. Conserver la syntaxe de l'HTML (ce qui me permet de conserver la coloration syntaxique dans les IDE).
Voilà ce que ça donne :
Où:
Le code en sortie donne ceci par exemple :
J'ai terminé mon moteur de template qui est un mix entre Talus Tpl' et l'HAML.
Les trois motifs de base de ce moteur de template sont les suivants :
1. Avoir un code source en entrée qui soient moins verbeux.
2. Avoir un code source en sortie parfaitement indenté et présentable.
3. Conserver la syntaxe de l'HTML (ce qui me permet de conserver la coloration syntaxique dans les IDE).
Voilà ce que ça donne :
<h1>
<span>
{TITLE}
<div class="grid-9.column">
<h2>
<makeup text="{$main-section.name}" />
<block array="{$list-mark}">
<h2 id="mark-{$list-mark.key}">
<makeup text="{$list-mark.name}" />
<makeup text="{$list-mark.content}" />
<br />
<br />
{help.link-reference}:
<a href="{link.help_section section={$id-section}}" class="em">
{URL_SITE}{link.help_section section={$id-section}}>
Où:
{TITLE} est une constante (majuscule).
{help.link-reference} est une variable de langue, renseignée à ce titre dans un fichier dédié.
{$list-mark.name} est une variable de template, renseignée à ce titre dans le script.
A noter que les variables de langue sont modulables, comme en HAML (très utile pour le pluriel par
exemple) et qu'il existe des filtres (upper, lower, etc.) pour toutes ces données.
Le moteur de template intègre directement le générateur de lien du framework ({link.code_link}).
Le code en sortie donne ceci par exemple :
<h1>
<span>Aide de jeu</span>
</h1>
<div class="grid-9 column">
<h2>Principes Généraux</h2>
<h2 id="mark-1">Objectifs</h2>
Les Terres de Cy est un jeu de plateau, mêlant tactique et stratégie et intégrant des éléments de jeu de gestion et de simulation.
<br />
<br />
Lien référence:
<a href="/help/4" class="em">http://beta.terresdecy.be/help/4</a>
</div>