Cet outil arrête toutes les pages dans une URL spécifiée et vérifie si les liens de destination existent. Il rapporte la page d'origine, le texte de l'ancre, l'URL de destination et si le lien fonctionne ou non. Si l'un des liens ne fonctionne pas, l'outil sort avec un code d'erreur. Il fournit également un résumé de l'analyse.
Il peut être exécuté comme une action GitHub , comme un outil de ligne de commande et comme un conteneur Docker .
Cet outil peut également être utilisé comme une action GitHub pour vérifier automatiquement les liens dans votre référentiel.
url (facultative): L'URL de base pour commencer à gratter. La valeur par défaut est http://localhost:4444/ .only-errors (Facultatif): Si défini sur true, affichez uniquement les erreurs. La valeur par défaut est false .ignore-file (facultatif): chemin vers le fichier ignore. La valeur par défaut est ./check-ignore . Si le paramètre est défini et que le fichier n'existe pas, l'action sort avec une erreur. Voir la section Ignore File Format ci-dessus pour plus d'informations.Le fichier Ignore doit contenir un modèle URL par ligne. Les modèles peuvent inclure des caractères génériques (*) pour correspondre à plusieurs URL. Voici quelques exemples:
http://example.com/ignore-this-page - ignore cette URL spécifique.http://example.com/ignore/* - ignore toutes les URL qui commencent par http://example.com/ignore/ .*/ignore-this-path/* - ignore toutes les URL contenant /ignore-this-path/ .https://*.domain.com* - ignore tous les sous-domaines de domain.com tels que https://sub.domain.com ou https://sub2.domain.com/page , etc.Cette action ne produit aucune sortie. Cependant, à la fin de l'analyse, il imprime un résumé des résultats avec:
name : Broken-links Checker
on : [push]
jobs :
check-links :
runs-on : ubuntu-latest
steps :
- name : Checkout repository
uses : actions/checkout@v2
- name : Run Link Checker
uses : merlos/[email protected]
with :
url : ' http://example.com '
only-errors : ' true ' name : MkDocs Preview and Link Check
on :
push :
branches :
- main
jobs :
preview_and_check :
runs-on : ubuntu-latest
steps :
- name : Checkout repository
uses : actions/checkout@v2
- name : Set up Python
uses : actions/setup-python@v2
with :
python-version : ' 3.x '
- name : Install dependencies
run : |
python -m pip install --upgrade pip
pip install mkdocs mkdocs-material
- name : Run MkDocs server
run : mkdocs serve -a 0.0.0.0:4444 &
continue-on-error : true
- name : Wait for server to start
run : sleep 10
- name : Run Link Checker
uses : merlos/[email protected]
with :
url : ' http://localhost:4444 '
only-errors : ' true '
ignore-file : ' ./check-ignore ' name : Quarto Preview and Link Check
on :
push :
branches :
- main
jobs :
preview_and_check :
runs-on : ubuntu-latest
steps :
- name : Checkout repository
uses : actions/checkout@v2
- name : Set up Quarto
uses : quarto-dev/quarto-actions/setup@v2
- name : Render Quarto project
run : quarto preview --port 444 &
continue-on-error : true
- name : Wait for server to start
run : sleep 10
- name : Run Link Checker
uses : merlos/[email protected]
with :
url : ' http://localhost:444 '
only-errors : ' true '
ignore-file : ' ./check-ignore ' Installez le package:
pip install broken-links Utilisez la commande broken-links :
broken-links http://example.com --only-error --ignore-file ./check-ignoreArguments en ligne de commande:
url (facultative): L'URL de base pour commencer à gratter. La valeur par défaut est http://localhost:4444/ .--only-error ou -o (facultatif): si définissez, affichez uniquement les erreurs. La valeur par défaut est false .--ignore-file ou -i (facultatif): chemin vers le fichier ignore. La valeur par défaut est ./check-ignore . Si le paramètre n'est pas défini et que le fichier n'existe pas, il vérifie tous les liens. Si le paramètre est défini et que le fichier n'existe pas, l'outil sort avec une erreur.Le format du fichier Ignore est expliqué dans la section [Ignore File Format (# ignore-file-format) ci-dessus.
L'image Docker a été construite pour ces architectures: arm64 , amd64 et arm7 et a été publiée dans Docker-Hub et Github Container Registy
docker pull merlos/broken-links:latest
# or from GitHub Container Registry
docker pull ghcr.io/merlos/broken-links:latestdocker run -ti merlos/broken-links https://www.example.com Les arguments sont les mêmes que la ligne de commande ( url , --only-error , --ignore-file ) comme expliqué ci-dessus. L'option -ti utilisée avec docker Run affiche la sortie de la commande lorsqu'elle est générée.
Afin d'utiliser l'argument --ignore-file vous devez monter un volume. Par exemple:
docker run -ti -v /path/on/host/to/ignore-file:/ignore-file merlos/broken-links https://www.example.com --ignore-file /ignore-fileIl a été développé à l'aide de Python. Vous devez donc installer Python dans votre système.
Clone le référentiel:
git clone https://github.com/merlos/broken-links
cd broken-linksDéfinir un environnement virtuel:
python -m venv venv
source venv/bin/activate Installez le package en mode Edit ( -e )
pip install -e .Commencez à coder!
docker build -t broken-links . docker run --rm broken-links http://example.com --only-error Pour exécuter les tests, utilisez la commande suivante:
python -m unittest discover testsFourche et envoyez une demande de traction. Veuillez mettre à jour / ajouter les tests unitaires.
Ce projet est concédé sous licence de la licence publique générale GNU V3.0 par Merlos.