JeuWeb - Crée ton jeu par navigateur
Haml — Une moteur de template génial - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : Haml — Une moteur de template génial (/showthread.php?tid=4007)

Pages : 1 2 3 4


RE: [Haml] Une moteur de template génial - Holy - 30-05-2009

Concernant le Sass, j'ai un peu du mal à cerner la différence par rapport à ça:

<?php
$main_container_width = 90;
$link_hover = '#666';
$thumb_width = 50;

$generic_link = 'color: #333;';

echo '
a {
',$generic_link,'
font-weight: bold;
text-decoration: none;
}

etc.';

?>



RE: [Haml] Une moteur de template génial - wild-D - 30-05-2009

désolé un peu HS:

(29-05-2009, 06:00 PM)Ter Rowan a écrit : 2) indentation double = même instruction qu') la ligne précédente (dans le cas où l'instruction est plutôt longue,j'évite d'avoir des ascenseurs à manipuler dans tous les sens, je place un retour chariot)
...
(mais si je devais absolument choisir entre haml et un autre qui ferait un code un peu foireux, clairement je choisirais haml, la j'ai le choix entre haml et notepad, je choisis notepad^^)

perso je te suis pas, pour moi c'est un faux argument car basé sur un défaut des IDE, éditeurs.
La mise en forme du code selon les préférences de l'utilisateur c'est l'éditeur; normalement c'est justement à notepad, emacs ou l'IDE de prendre ça en charge. Si tu force le retour de ligne après disons 80 caractères, ou 100 ou peu importe, selon la largeur de ton écran, l'éditeur devrait t'assurer lui-même de gérer un retour de ligne avec une présentation qui soit lisible et cohérente avec la structure du code et non pas te faire un pavé-cochon comme le font la grande majorité; bref, c'est pas à toi de t'occuper de cette indentation (et de l'imposer à un autre dev qui travaillerait avec toi sur le même code, lui il préfère p-e 3 tab Tongue)


RE: [Haml] Une moteur de template génial - Holy - 31-12-2011

J'suis actuellement en plein test sur une intégration d'haml ou un équivalent pour alléger mes vues. Et euh... J'ai une question one shot complètement con, mais l'indentation se calcule sur base des tabulations ou des espaces ?

Dans ma logique, le moteur devrait convertir toutes les tabulations en espaces (4 par défaut) avant d'analyser la page, mais je me demandais comment réagissait HAML par rapport à ça. Je dis ça comme certains éditeurs et/ou intégrateurs travaillent avec des tabulations parfois...


RE: [Haml] Une moteur de template génial - Sephi-Chan - 31-12-2011

Si tu mets une tabulation, le moteur crie très fort. Il ne veut que des crans de 2 espaces.
De toute façon, rien ne vaut l'indentation à coup de 2 espaces. :p


RE: [Haml] Une moteur de template génial - Holy - 31-12-2011

Ok, merci pour cette réponse rapide Smile.

Pour les espaces, je laisserai ça à l'appréciation du codeur dans une jolie constante Tongue.


RE: [Haml] Une moteur de template génial - Viciousity - 02-01-2012

Sivous voulez l'avis d'un Graphiste intégrateur ...

Personnellement, je travaille sous RoR et souvent pour des projets codés avec ce même outil.
Il n'est pas plus performant qu'un quelconque autre framework PHP mais il a une syntaxe et une manière d'aborder le MVC assez sympa (sans parler des gems qui sont un réels bonheur). ON aime ou on aime pas.

Maintenant, je dois avouer que je suis fan de HAML, pourquoi ??? Simplement car il permet une économie énorme autant en temps de conception que maintanibilité, il permet d'éviter beaucoup d'erreur de fermeture de balise et embarque des helpers vraiment sympa. On peu trouver son indentation stricte mais elle permet une convention de notation syntaxique (convention est une notion très présente dans le monde RUBY), ainsi, n'importe qui qui lira mon code, saura exactement ce qu'il représente (pas vraiment de mise en place du code personnelle).

Le HTMLest bien mais un moteur tel que HAML est réellement un plus.


RE: [Haml] Une moteur de template génial - Holy - 04-01-2012

J'ai bien avancé dans mon nouveau moteur de template qui est, évidemment, plus basique et léger qu'HAML, j'en arrive aux dernières finitions. Je me demandais comment HAML gérait les éléments de type inline dans un texte par exemple ou dans un menu (genre une image).

Prenons un exemple concret. Si par exemple, je devais adapter cet extrait d'html en haml :
Code :
<p>J'ai bien avancé dans mon nouveau moteur de template qui est évidemment plus basique et léger qu'HAML. <img src="./uneimage.png" /> Je me demandais comment HAML gérait les éléments de type inline dans un texte par exemple ou dans un menu (genre une image).</p>



RE: [Haml] Une moteur de template génial - Sephi-Chan - 04-01-2012

Tu écrirais :


%p
J'ai bien avancé dans mon nouveau moteur de template qui est évidemment plus basique et léger qu'HAML.
%img{ src: "./uneimage.png" }
Je me demandais comment HAML gérait les éléments de type inline dans un texte par exemple ou dans un menu (genre une image).

Et ça marcherait bien. Smile
De plus, Haml te permet de mettre du HTML dans tes templates. C'est plutôt pratique pour caser des <strong> & cie.



RE: [Haml] Une moteur de template génial - Holy - 04-01-2012

Okey, merci Smile. Je procède de la même façon, je trouvais ça juste particulier, mais pas tant que ça finalement (question d'habitude, rien de plus).


RE: [Haml] Une moteur de template génial - Holy - 07-02-2012

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 Wink.

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 /&gt;
<br /&gt;

{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 /&gt;
<br /&gt;
Lien référence:
<a href="/help/4" class="em">http://beta.terresdecy.be/help/4</a>
</div>