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
ifHello {{#test}} {{nom}} {{/test}}Hello toto -
Remplacent le bloc
forHello {{#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
elseHello {{^test}} {{nom}} {{/test}}Hello totoContexte :
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).