Ajout d'un script d'horodatage des fiches, affichage des fiches récement modifiées sur la page d'accueil

This commit is contained in:
julien
2026-08-05 17:46:30 +02:00
parent 2b8c088e57
commit 65642a5983
35 changed files with 279 additions and 60 deletions
+30 -10
View File
@@ -82,7 +82,7 @@ Le générateur place les éléments communs suivants en tête du front matter :
```toml
title = "Titre"
date = 2026-08-05T12:30:00+02:00
# updated = YYYY-MM-DD
# updated = YYYY-MM-DDTHH:MM:SS+HH:MM
description = ""
draft = true
```
@@ -94,12 +94,16 @@ Les tables propres à chaque type de contenu viennent ensuite dans le même fron
- `description` est un résumé court, rédigé manuellement lorsquil est utile ;
- `draft` détermine si la page est publiée.
`date` est une valeur temporelle TOML écrite sans guillemets. La ligne commentée `# updated = YYYY-MM-DD` est un repère inactif. Après une modification substantielle, elle peut être décommentée et remplacée par la date correspondante :
`date` est un horodatage TOML écrit sans guillemets dans le fuseau `Europe/Paris`. La ligne commentée `# updated = YYYY-MM-DDTHH:MM:SS+HH:MM` est un repère inactif. Après une modification substantielle, `update-content.py` lactive, remplace sa valeur ou insère `updated` après `date` lorsquil est absent.
Le résultat utilise le même format que `date` :
```toml
updated = 2026-08-05
updated = 2026-08-05T16:47:00+02:00
```
Lorsquil est actif, `updated` détermine la position de la fiche dans le bloc « Fiches récentes » de la page daccueil. En son absence, la date de publication est utilisée.
Lorsque `description` reste vide :
- une fiche de vocabulaire affiche une phrase construite à partir de sa nature, de son genre et de son sens ;
@@ -162,6 +166,22 @@ Le générateur normalise lidentifiant et le titre en NFC, prépare tous les
Pour un article, un texte ou une note de grammaire, le titre est déduit de lidentifiant en remplaçant les tirets par des espaces et en mettant linitiale en majuscule. Pour le vocabulaire, il reprend lidentifiant. Pour un signe, il reste vide sauf si `--title` est fourni.
## Horodatage des mises à jour
Après une modification substantielle, lancer :
```sh
./scripts/update-content.py src/content/vocabulaire/bītum.md
```
Le chemin complet se sélectionne rapidement avec la touche Tab du shell. Une forme abrégée relative à `src/content/` est aussi acceptée :
```sh
./scripts/update-content.py vocabulaire/bītum.md
```
Le script refuse les index, les fichiers extérieurs à `src/content/` et les sections inconnues. Il active le repère commenté, remplace lhorodatage déjà présent ou insère `updated` après `date` lorsquil est absent, sans modifier le reste du fichier.
## Taxonomies
Les taxonomies publiques sont :
@@ -192,7 +212,7 @@ Toutes les fiches lexicales utilisent la même structure générale :
+++
title = "lemme"
date = 2026-08-05T12:30:00+02:00
# updated = YYYY-MM-DD
# updated = YYYY-MM-DDTHH:MM:SS+HH:MM
description = ""
draft = true
@@ -275,7 +295,7 @@ produit :
+++
title = "BE"
date = 2026-08-05T12:30:00+02:00
# updated = YYYY-MM-DD
# updated = YYYY-MM-DDTHH:MM:SS+HH:MM
description = ""
draft = true
@@ -314,7 +334,7 @@ Une fiche de signe peut rester sans corps si son front matter suffit.
+++
title = "Titre de la fiche"
date = 2026-08-05T12:30:00+02:00
# updated = YYYY-MM-DD
# updated = YYYY-MM-DDTHH:MM:SS+HH:MM
description = ""
draft = true
@@ -331,7 +351,7 @@ themes = []
+++
title = "Titre du texte"
date = 2026-08-05T12:30:00+02:00
# updated = YYYY-MM-DD
# updated = YYYY-MM-DDTHH:MM:SS+HH:MM
description = ""
draft = true
@@ -361,7 +381,7 @@ Elle peut être adaptée à chaque texte.
+++
title = "Titre de larticle"
date = 2026-08-05T12:30:00+02:00
# updated = YYYY-MM-DD
# updated = YYYY-MM-DDTHH:MM:SS+HH:MM
description = ""
draft = true
@@ -403,7 +423,7 @@ Pour les fichiers `_index.md`, il exige un titre non vide.
Pour les autres pages, `draft` doit être un booléen. Les brouillons ne sont pas soumis aux contrôles de complétude, à lexception du nom des fiches de signes.
Pour toute page publiée, il exige un titre non vide. Une date TOML valide est également obligatoire lorsque la page appartient à une section. Les pages permanentes placées directement dans `src/content/`, comme la bibliographie et les mentions légales, nont pas besoin de date.
Pour toute page publiée, il exige un titre non vide. Lorsque la page appartient à une section, `date` doit être un horodatage TOML avec fuseau horaire. Si `updated` est renseigné, il doit respecter le même format. Les pages permanentes placées directement dans `src/content/`, comme la bibliographie et les mentions légales, nont pas besoin de date.
Pour une fiche de vocabulaire publiée, il contrôle en plus :
@@ -424,7 +444,7 @@ Zola reste responsable de la construction, des liens internes, des taxonomies et
- ne renseigner que des informations établies ou utiles ;
- garder une graphie stable pour chaque lemme, lecture et terme de taxonomie ;
- employer `draft = true` pour un contenu incomplet ou temporairement hors ligne ;
- nactiver `updated` quaprès une modification substantielle ;
- exécuter `update-content.py` uniquement après une modification substantielle ;
- éviter de répéter dans le corps une donnée déjà claire dans le front matter, sauf lorsquune explication apporte quelque chose ;
- rédiger des descriptions courtes et informatives lorsquun résumé spécifique est utile ;
- ne pas ajouter de rubriques vides ni de textes dattente.