Esta herramienta raspa todas las páginas dentro de una URL especificada y verifica si existen los enlaces de destino. Reporta la página original, el texto del ancla, la URL de destino y si el enlace está funcionando o no. Si alguno de los enlaces no funciona, la herramienta sale con un código de error. También proporciona un resumen del análisis.
Se puede ejecutar como una acción de GitHub , como una herramienta de línea de comandos y como un contenedor Docker .
Esta herramienta también se puede utilizar como una acción de GitHub para verificar automáticamente los enlaces en su repositorio.
url (opcional): la URL base para comenzar a raspar. El valor predeterminado es http://localhost:4444/ .only-errors (opcional): si se establece en True, solo muestre errores. El valor predeterminado es false .ignore-file (opcional): ruta al archivo Ignorar. El valor predeterminado es ./check-ignore . Si el parámetro está configurado y el archivo no existe, la acción sale con un error. Consulte la sección Ignorar del formato de archivo anterior para obtener más información.El archivo Ignore debe contener un patrón de URL por línea. Los patrones pueden incluir comodines (*) para que coincidan con múltiples URL. Aquí hay algunos ejemplos:
http://example.com/ignore-this-page esta URL específica.http://example.com/ignore/* - Ignora todas las URL que comienzan con http://example.com/ignore/ .*/ignore-this-path/* -Ignora todas las URL que contienen /ignore-this-path/ .https://*.domain.com* - Ignora todos los subdominios de domain.com como https://sub.domain.com o https://sub2.domain.com/page , etc.Esta acción no produce ninguna salida. Sin embargo, al final del análisis, imprime un resumen de los resultados con:
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 ' Instale el paquete:
pip install broken-links Use el comando broken-links :
broken-links http://example.com --only-error --ignore-file ./check-ignoreArgumentos de línea de comandos:
url (opcional): la URL base para comenzar a raspar. El valor predeterminado es http://localhost:4444/ .--only-error o -o (opcional): si se establece, solo muestre errores. El valor predeterminado es false .--ignore-file o -i (opcional): ruta al archivo Ignorar. El valor predeterminado es ./check-ignore . Si el parámetro no está configurado y el archivo no existe, verifica todos los enlaces. Si el parámetro está configurado y el archivo no existe, la herramienta sale con un error.El formato del archivo Ignore se explica en la sección [Formato de archivo IGNORE (#ignore-archivo-formato) anterior.
La imagen de Docker se ha construido para estas arquitecturas: arm64 , amd64 y arm7 y se ha lanzado en Docker-Hub y 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 Los argumentos son los mismos que la línea de comandos ( url , --only-error , --ignore-file ) como se explicó anteriormente. La opción -ti utilizada con docker Run muestra la salida del comando tal como se genera.
Para utilizar el argumento --ignore-file necesita montar un volumen. Por ejemplo:
docker run -ti -v /path/on/host/to/ignore-file:/ignore-file merlos/broken-links https://www.example.com --ignore-file /ignore-fileSe ha desarrollado usando Python. Por lo tanto, debe tener instalado Python en su sistema.
Clon el repositorio:
git clone https://github.com/merlos/broken-links
cd broken-linksEstablecer un entorno virtual:
python -m venv venv
source venv/bin/activate Instale el paquete en modo de edición ( -e )
pip install -e .¡Empiece a codificar!
docker build -t broken-links . docker run --rm broken-links http://example.com --only-error Para ejecutar las pruebas, use el siguiente comando:
python -m unittest discover testsBifurca y envíe una solicitud de extracción. Actualice/agregue las pruebas unitarias.
Este proyecto tiene licencia bajo los términos de la Licencia Pública General de GNU v3.0 por Merlos.