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