Utilisateur:RockyRoad/Brouillons/Parser

Un article de Wikipédia, l'encyclopédie libre.

Sommaire

[modifier] Intro

Cette page est destinée aux essais syntaxiques sur les fonctions parser utilisées dans certains modèles.

Afin de mieux tester le comportement de ces fonctions dans les modèles, j'ai utilisé régulièrement la syntaxe: {{subst:Bac à sable}}.

[modifier] #if:

Syntaxe
 {{ #if: <condition> | <alors texte1> | <sinon texte2> }}
Rendu

<alors texte1>

[modifier] avec sauts de ligne et indentations

Le code est plus lisible si on indente les éléments du if.
{{ #if: <condition> 
   | <alors texte1> 
   | <sinon texte2> 
}}

<alors texte1>

Si le bloc est précédé par des espaces, le texte résultant peut sortir préformaté.
  {{ #if: 
     | <alors texte1> 
     | <sinon texte2> 
  }}
 <sinon texte2>
Essai dans un modèle avec tests imbriqués. Le bloc externe commence à la première colonne.
{{subst:Bac à sable | a | b}}
{{ #if:  a 
   | cas1 
   | {{ #if:  b
        | cas2 
        | cas3
     }}
}}

cas1

{{subst:Bac à sable}}
{{ #if: {{{1|}}}
   | cas1 
   | {{ #if: {{{2|}}}
        | cas2 
        | cas3
     }}
}}

cas3

[modifier] Tableau dans un bloc #if:

Les tableaux sont plus sensibles aux sauts de ligne, qui font partie de leur syntaxe.

D'autre part, ils utilisent un élément syntaxique commun avec les fonctions parser et les modèles: la barre verticale |. Pour éviter que ce caractère soit interprété comme une fin de clause d'un #if: ou d'un #switch: , il faut le protéger en le remplaçant par {{!}}.

{{#if: condition
  |{{{!}}border="1"
    {{!}}cellule 1
    {{!}}cellule 2
   {{!}}}
}}
cellule 1 cellule 2

[modifier] Suite