Les squelettes sont un ensemble de fichiers qui permettent de modéliser l'apparence du site web selon ses préférences et besoins.
La syntaxe utilisée dans les squelettes s'appelle Brindille. Voir la documentation de Brindille pour son fonctionnement.
Par défaut sont fournis plusieurs squelettes qui permettent d'avoir un site web basique mais fonctionnel : page d'accueil, menu avec les catégories de premier niveau, et pour afficher les pages, les catégories, les fichiers joints et images. Il y a également un squelette atom.xml permettant aux visiteurs d'accéder aux dernières pages publiées.
Les squelettes peuvent être modifiés via l'onglet Configuration de la section Site web du menu principal.
Une fois un squelette modifié, il apparaît dans la liste comme étant modifié, sinon il apparaît comme défaut. Si vous avez commis une erreur, il est possible de restaurer le squelette d'origine.
Les squelettes sont appelés en fonction des règles suivantes (dans l'ordre) :
| Squelette appelé | Cas où le squelette est appelé |
|---|---|
adresse |
Si l'adresse adresse est appelée, et qu'un squelette du même nom existe |
adresse/index.html |
Si l'adresse adresse/ est appelée, et qu'un squelette index.html dans le répertoire du même nom existe |
category.html |
Toute autre adresse se terminant par un slash /, si une catégorie du même nom existe |
article.html |
Toute autre adresse, si une page du même nom existe |
404.html |
Si aucune règle précédente n'a fonctionné |
Ainsi l'adresse https://monsite.paheko.cloud/Actualite/ appellera le squelette category.html, mais l'adresse https://monsite.paheko.cloud/Actualite (sans slash à la fin) appellera le squelette article.html si un article avec l'URI Actualite existe. Si un squelette Actualite (sans extension) existe, c'est lui qui sera appelé en priorité et ni category.html ni article.html ne seront appelés.
Autre exemple : https://monsite.paheko.cloud/atom.xml appellera le squelette atom.xml s'il existe.
Ceci vous permet de créer de nouvelles pages dynamiques sur le site, par exemple pour notre atelier vélo nous avons une page https://larustine.org/velos qui appelle le squelette velos (sans extension), qui va afficher la liste des vélos actuellement en stock dans notre hangar.
Le type de fichier étant déterminé selon l'extension (.html, .css, etc.) pour les fichiers traités par Brindille, un fichier sans extension sera considéré comme un fichier texte par le navigateur. Si on veut que le squelette velos (sans extension) s'affiche comme du HTML il faut forcer le type en mettant le code {{:http type="text/html"}} au début du squelette (première ligne).
Note : les squelettes dont le nom commence par un tiret bas (underscore, exemple : _documents.html) ne peuvent être affichés directement en appelant leur adresse URL, ils ne peuvent qu'être inclus par un un autre squelette.
Ce fichier est particulier, car il définit le style du contenu des pages et des catégories.
Ainsi il est également utilisé quand vous éditez un contenu dans l'administration. Donc si vous souhaitez modifier le style d'un élément du texte, il vaux mieux modifier ce fichier, sinon le rendu sera différent entre l'administration et le site public.
Depuis la version 1.3, Paheko dispose d'un cache statique du site web.
Cela veut dire que les pages du site web sont enregistrées sous la forme de fichiers HTML statiques, et le serveur web renvoie directement ce fichier sans faire appel à Paheko et son code PHP.
Les fichiers liés aux pages web sont également mis en cache de cette manière, en utilisant des liens symboliques.
Ce cache permet d'avoir un site web très rapide, même s'il reçoit des millions de visites.
Le seul inconvénient c'est qu'une page mise en cache étant statique, si vous utilisez du contenu dynamique (par exemple afficher un texte différent selon la langue du visiteur) dans le squelette Brindille, alors cela ne fonctionnera plus.
Dans ce cas-là, vous pouvez assigner la variable nocache dans le squelette pour désactiver le cache pour cette page :
{{:assign nocache=true}}
Pour permettre des usages du type "affichage en temps presque réel des horaires d'ouverture", le cache d'une page HTML est effacé et remis à jour au bout d'une heure.
Il est à noter que le cache n'est pas appelé dans les cas suivants :
GET ou HEAD, ainsi par exemple l'envoi d'un formulaire (POST) ne sera jamais mis en cache ;velos.html?list=1 : cette page ne sera pas mise en cache) ;Le cache est intégralement effacé à chaque modification du site web.
Le cache ne concerne que les pages et fichiers du site web public. Il ne concerne pas les modules, les extensions, ou l'administration.
Attention :