Dieses Tool kratzt alle Seiten innerhalb einer bestimmten URL und prüft, ob die Ziellinks vorhanden sind. Es meldet die Originalseite, den Text des Ankers, die Ziel -URL und ob der Link funktioniert oder nicht. Wenn eine der Links nicht funktioniert, beendet das Tool mit einem Fehlercode. Es bietet auch eine Zusammenfassung der Analyse.
Es kann als Github -Aktion , als Befehlszeilenwerkzeug und als Docker -Container ausgeführt werden.
Dieses Tool kann auch als GitHub -Aktion verwendet werden, um die Links in Ihrem Repository automatisch zu überprüfen.
url (optional): Die Basis -URL, von der man anfangen kann, von zu schießen. Standard ist http://localhost:4444/ .only-errors (optional): Wenn Sie auf True gesetzt sind, zeigen Sie nur Fehler an. Standard ist false .ignore-file (optional): Pfad zur ignorierenden Datei. Standard ist ./check-ignore . Wenn der Parameter festgelegt ist und die Datei nicht vorhanden ist, beendet die Aktion mit einem Fehler. Weitere Informationen finden Sie unter Abschnitt "Dateiformat Ignorieren" .Die Datei Ignore sollte ein URL -Muster pro Zeile enthalten. Die Muster können Wildcards (*) enthalten, die mehrere URLs entsprechen. Hier sind einige Beispiele:
http://example.com/ignore-this-page diese spezifische URL.http://example.com/ignore/* - ignoriert alle URLs, die mit http://example.com/ignore/ beginnen.*/ignore-this-path/* -Ignoriert alle URLs, die /ignore-this-path/ .https://*.domain.com* - ignoriert alle Subdomains von domain.com wie https://sub.domain.com oder https://sub2.domain.com/page usw.Diese Aktion erzeugt keine Ausgänge. Am Ende der Analyse druckt es jedoch eine Zusammenfassung der Ergebnisse mit:
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 ' Installieren Sie das Paket:
pip install broken-links Verwenden Sie den Befehl broken-links :
broken-links http://example.com --only-error --ignore-file ./check-ignoreBefehlszeilenargumente:
url (optional): Die Basis -URL, von der man anfangen kann, von zu schießen. Standard ist http://localhost:4444/ .--only-error oder -o (optional): Wenn festgelegt, zeigen Sie nur Fehler an. Standard ist false .--ignore-file ODER -i (optional): Pfad zur Ignorierdatei. Standard ist ./check-ignore . Wenn der Parameter nicht festgelegt ist und die Datei nicht vorhanden ist, überprüft er alle Links. Wenn der Parameter festgelegt ist und die Datei nicht vorhanden ist, verlässt das Tool mit einem Fehler.Das Format der ignorierenden Datei wird im Abschnitt [Dateiformat (#Ignore-Datei-Format) ignorieren.
Das Docker-Bild wurde für diese Architekturen erstellt: arm64 , amd64 und arm7 und wurde in Docker-Hub und Github Container Registy veröffentlicht
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 Die Argumente entsprechen der Befehlszeile ( url , --only-error , --ignore-file ), wie oben erläutert. Die mit docker -Auslauf verwendete Option -ti zeigt die Ausgabe des Befehls an, wie er generiert wird.
Um das Argument --ignore-file zu verwenden, müssen Sie ein Volumen montieren. Zum Beispiel:
docker run -ti -v /path/on/host/to/ignore-file:/ignore-file merlos/broken-links https://www.example.com --ignore-file /ignore-fileEs wurde mit Python entwickelt. Sie müssen also Python in Ihrem System installieren lassen.
Klonen Sie das Repository:
git clone https://github.com/merlos/broken-links
cd broken-linksSetzen Sie eine virtuelle Umgebung:
python -m venv venv
source venv/bin/activate Installieren Sie das Paket im Bearbeitungsmodus ( -e )
pip install -e .Starten Sie die Codierung!
docker build -t broken-links . docker run --rm broken-links http://example.com --only-error Verwenden Sie zum Ausführen der Tests den folgenden Befehl:
python -m unittest discover testsGabel und eine Pull -Anfrage senden. Bitte aktualisieren Sie/fügen Sie die Unit -Tests hinzu.
Dieses Projekt ist gemäß den Bestimmungen der GNU General Public Lizenz v3.0 von Merlos lizenziert.