1

Supprime les reliquats du dossier tools

This commit is contained in:
2026-03-28 17:55:04 +01:00
parent 7452eb0876
commit c00de163a1
6 changed files with 87 additions and 5499 deletions

View File

@@ -132,8 +132,8 @@ Il s'agit d'un site statique généré avec Hugo, dont la version peut être vé
##### Liens intéressants (`content/interets/liens-interessants`)
- Cette section a le même usage que l'application `Shaarli` : je m'en sers pour partager avec mes lecteurs mes trouvailles sur Internet
- J'ajoute un lien avec la commande `node tools/add_link.js "<url>"`, qui produit le bundle correspondant, récupère le titre et la description du site distant, ainsi qu'une capture d'écran placée dans le dossier `images/` du bundle créé
- Si une description est trouvée, elle est ajoutée dans le corps du fichier `index.md` généré par le script
- Chaque lien intéressant est publié sous forme de bundle, avec au minimum un frontmatter renseignant l'attribut `links`
- Si une description est trouvée, elle est ajoutée dans le corps du fichier `index.md`
- Je peux éventuellement ajouter un commentaire personnel dans le corps du fichier `index.md`, mais ce n'est pas systématique
### Pièces jointes
@@ -201,65 +201,6 @@ Il s'agit d'un site statique généré avec Hugo, dont la version peut être vé
- Ne jamais ajouter d'émojis dans le corps de l'article
- Ne jamais supprimer les émojis existant
## Outils
- Les outils sont placés dans le dossier `tools/`
- Les librairies créées sur mesure devront être placée dans `tools/lib/`, éventuellement dans un sous-dossier pour architecturer correctement le code
### Ajout d'un LEGO à ma collection (`tools/add_lego.js`)
- Ce script exploite l'API du site Rebrickable pour me permettre de récupérer des images et informations à propos d'un set LEGO donné et ajoute ou modifie le bundle correspondant
### Ajout d'un lien intéressant (`tools/add_link.js`)
- Prend en entrée un URL et crée un nouveau bundle en peuplant l'attribut `links` du frontmatter et en fournissant une image d'en-tête
### Ajout de la météo (`tools/add_weather.js`)
- Ajoute les informations sur la météo à un bundle (ou tous les bundles)
- Ces informations sont tirées de mon serveur InfluxDB2, ou d'au moins une source externe si ces données ne sont pas disponibles
### Vérification des liens
#### Externes (`tools/check_external_links.js`)
- Vérifie la disponibilité des sites liés partout dans `content/` (code HTTP 200 ou autre)
- On cherche les liens dans les fichiers markdown (incluant le frontmatter) et les fichiers `*.yaml`
- On ignore les URL placés dans des blocs de code mono ou multilignes
- La vérification enrichie repose sur Playwright et le Chromium embarqué par la librairie `playwright`
- La variable `externalLinks.usePlaywright` de `tools/config/config.json` doit être positionnée à `true` pour activer cette vérification
- L'attribut `externalLinks.playwrightExecutablePath` doit rester vide ou à `null` afin de laisser Playwright utiliser son propre navigateur, compatible avec la configuration `nix-ld` déclarée dans `/etc/nixos/nix-ld-libraries.nix`
- Si `externalLinks.playwrightExecutablePath` est renseigné, il doit impérativement pointer vers un binaire existant : dans le cas contraire, le script se termine en erreur et interrompt le déploiement
#### Internes (`tools/check_internal_links.js`)
- Vérifie les liens morts internes
- Pas besoin de lancer Hugo : il suffit de chercher tous les liens sans `://` dans `content/`
- On cherche les liens dans les fichiers markdown (excluant le frontmatter) et les fichiers `*.yaml`
- On ignore les URL placés dans des blocs de code mono ou multilignes
- L'URL est de la forme `/{section ou bundle}` : on cherche l'existence du dossier `content/{section ou bundle}`, et la présence d'un fichier `index.md` ou `_index.md` dans ce dossier, s'il existe. Si un tel fichier existe : le lien est valide.
### Diagrammes mermaid (`tools/generate_mermaid_diagrams.js`)
- Cherche des fichiers `*.mermaid` dans un dossier `diagrams` des bundles
- Pour chaque fichier `*.mermaid` trouvé, on lance l'exécutable de `mermaid` sur ce fichier pour produire l'image correspondante dans le dossier `images/` du bundle
- Les images produites doivent être au format `.png` ou `.jpeg`
- Voir `content/interets/electronique/2025/10/21/pilotage-d-un-switch-usb-par-le-wifi`
### Génération de métadonnées (`tools/generate_metadata_files.js`)
- Génère automatiquement les fichiers de métadonnées pour toute pièce jointe du dernier bundle créé et les place dans le dossier `data/` du bundle
### Générateur de statistiques (`tools/generate_stats.js`)
- Génère diverses statistiques intéressantes
- Les statistiques sont présentées dans le bundle `content/stats`
### Synchro Wikipédia (`tools/sync_wiki_metadata.js`)
- Ce script est utile aux critiques de médias
- Il cherche sur la Wikipédia/Wikidata des informations relatives aux oeuvres critiquées
## Déploiement
- Tout le déploiement du site est confié au script `deploy.sh`.