HTML
Index sert classiquement des fichiers HTML, avec un petit plus concernant l'interprétation préalable de balises specifiques, et surtout un mécanisme global d'héritage. Voyons ça de plus près.
Includes
La balise d'inclusion est assez simple à comprendre, prenons par exemple l'aborescence de site suivante :
\net.riffzone.whatever \index.html \header.html \footer.html
Le fichier index.html de la page d'accueil de ce site ne contenant que trois lignes :
<<include:header.html>> Lorem ipsum, ad nauseam. <<include:footer.html>>
Ces balises font référence aux deux fichiers "header.html" et "footer.html", qui seront inclus respectivement avant et après le lipsum pour former le contenu HTML final.
Une variante de cette configuration serait la suivante :
\net.riffzone.whatever \index.html \index.header.html \index.footer.html
Le fichier index.html de la page d'accueil de ce site ne contenant que la ligne de contenu :
Lorem ipsum, ad nauseam.
S'il existe un index.header.html et/ou un index.footer.html dans le dossier servi par le moteur, ils seront automatiquement concaténés avant et/ou après le contenu du fichier index.html, qui pourra se contenter de contenir ici son lipsum.
Ces header et footer pourront par ailleurs être hérités, via le mécanisme que nous allons voir maintenant.
Héritage
Pour chaque spécification de fichier, spécifiée explicitement ou déterminée par défaut (index.html/page), celui-ci est recherché dans le répertoire spécifié puis dans les dossiers parents, en remontant l'arborescence jusqu'à la racine du domaine.
Prenons l'exemple ci-dessous :
\index.html \index.header.html \index.footer.html \index.page \section1\ \index.page \section2\ \index.page
Si on demande l'adresse https://domain.tld/section1, les fichiers index.html (par défaut), index.header.html et index.footer.html seront pris à la racine du site, alors que seul le fichier index.page sera pris à l'emplacement correspondant à la requête.
Variables
Les variables globales ou définies à divers niveau de l'arborescence dans les fichiers .settings ou même en entête des fichiers .page, sont accessibles via la syntaxe suivante :
Par exemple, sont définis globalement au niveau d'une requête :