Supprime les reliquats du dossier tools
This commit is contained in:
63
AGENTS.md
63
AGENTS.md
@@ -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`.
|
||||
|
||||
Reference in New Issue
Block a user