Le front-matter

Ecrit par Herve • 13 Nov 2019

Dans le fichier MarkDown, il est très utile d'insérer une en-tête comportant des informations utiles. Par exemple : le template à utiliser pour générer la page, un titre, une catégorie, etc... On utile pour cela le format "Front-Matter", qui est encadré par une succession de trois tirets.

A titre d'exemple, le front matter de ce post est :

---
titre: Le front-matter
author: Herve
description: Tiny SSG exploite les données d'entête au format front matter. Elle deviennent disponibles dans des variables Python utilisables dans les fichiers template.
layout: Post
---

Ainsi, dans le template qui affiche le post, je peux utiliser la variable page.titre pour affiche le titre de mon article. La variable layout est requise afin de spécifier le fichier template à utiliser pour générer le fichier HTML. L'extension .html est optionnelle.

Il est aussi possible d'utiliser des structures de données plus complexes, comme des listes. Par exemple, pour spécifier des mot-clés associés à ce post, on pourrait écrire :

motcles:
- front-matter
- format
- autre chose

La variable page.motcles ainsi disponible dans le template sera la liste des 3 mots clés.

Lors de la construction d'une page, TinySSG génére des variables pré-définies. Elles peuvent être remplacées par des valeurs personnalisées dans le front-matter. Par exemple, tinySSG affecte l'url de la page à la variable slug. Mais si slug figure parmi les variables du front-matter, alors sa valeur sera celle du front-matter.