#!/bin/bash # Temporaire pour les résultats des liens brisés BROKEN_LINKS=$(mktemp) # Fonction pour vérifier les liens check_links() { local file=$1 local base_dir=$(dirname "$file") # Cherche les liens vers les fichiers .md grep -o '\[.*\](.*\.md)' "$file" | while read -r link; do # Extraire le chemin du fichier lié linked_file=$(echo "$link" | sed 's/^.*(\(.*\))$/\1/') # Résoudre le chemin relatif resolved_path=$(realpath -m "$base_dir/$linked_file") # Vérifie si le fichier lié existe if [ ! -f "$resolved_path" ]; then echo "Lien brisé dans $file: $linked_file (résolu en $resolved_path)" >> "$BROKEN_LINKS" fi done } # Répertorie tous les fichiers .md dans le dépôt find . -type f -name "*.md" ! -name "README.md" | while read -r file; do check_links "$file" done # Affiche les liens brisés if [ -s "$BROKEN_LINKS" ]; then echo "Les liens brisés suivants ont été trouvés :" cat "$BROKEN_LINKS" else echo "Aucun lien brisé trouvé." fi # Nettoyage rm "$BROKEN_LINKS"