Langages sans logique
-
En oppositions aux langages de templates riches : Django, Twig, Jinja, …
-
Aucun opérateur logique :
for
,if
,while
, variables, … -
Deux principes fondateurs :
-
Les valeurs primitives (entiers, chaînes, …) sont remplacées dans le template,
-
Les listes sont itérées.
-
Exemples : Mustache, Hogan, Handlebars, …
Syntaxe Mustache
-
Remplacement
Hello {{nom}} !
-
Section (l’opérateur le plus important)
Bonjour {{#connu}} {{nom}} {{/connu}},
-
Section inversé
{{^connu}} Présentez-vous {{/connu}}
-
Partiels (inclusion)
{{> autre_template}}
-
Commentaires
{{! ceci est un commentaire }}
Remplacement
Identique aux autres langages de templates
Hello {{nom}}!
Hello toto!
Étant donné le contexte nom
→ "toto"
.
Sections
-
Remplacent le bloc
if
Hello {{#test}} {{nom}} {{/test}}
Hello toto
-
Remplacent le bloc
for
Hello {{#liste}} {{nom}}, {{/liste}}
Hello titi tutu tata
Contexte :
test
→true
,nom
→"toto"
,liste
→[ nom → "titi", nom → "tutu", nom → "tata"]
.
Sections
-
Remplacent les filtres
{{#filtre}} Hello toto {{/filtre}}
HELLO TOTO
Contexte :
filtre
→function(x) { return x.toUpperCase(); }
Sections inversées
-
Remplacent le
else
Hello {{^test}} {{nom}} {{/test}}
Hello toto
Contexte :
test
→false
,nom
→"toto"
,
Partiels
-
Importe et exécute
autre_template.mustache
,{{> autre_template }}
-
Inclusion dynamique, littérale, possibilité d’inclusions récursives.
Lectures
-
Documentation de Hogan.js (par Twitter).