Essa ferramenta descarta todas as páginas dentro de um URL especificado e verifica se os links de destino existem. Ele relata a página original, o texto da âncora, o URL de destino e se o link está funcionando ou não. Se algum dos links não funcionar, a ferramenta sairá com um código de erro. Ele também fornece um resumo da análise.
Ele pode ser executado como uma ação do GitHub , como uma ferramenta de linha de comando e como um contêiner do docker .
Essa ferramenta também pode ser usada como uma ação do GitHub para verificar automaticamente os links no seu repositório.
url (opcional): o URL base para começar a raspar. O padrão é http://localhost:4444/ .only-errors (opcionais): se definido como true, exibe apenas erros. O padrão é false .ignore-file (Opcional): caminho para o arquivo ignorado. O padrão é ./check-ignore . Se o parâmetro estiver definido e o arquivo não existir, a ação sairá com um erro. Consulte a seção Ignorar o formato do arquivo acima para obter mais informações.O arquivo ignorante deve conter um padrão de URL por linha. Os padrões podem incluir curingas (*) para corresponder a vários URLs. Aqui estão alguns exemplos:
http://example.com/ignore-this-page este URL específico.http://example.com/ignore/* - ignora todos os URLs que começam com http://example.com/ignore/ .*/ignore-this-path/* -Ignora todos os URLs que contêm /ignore-this-path/ .https://*.domain.com* - Ignora todos os subdomínios de domain.com como https://sub.domain.com ou https://sub2.domain.com/page , etc.Esta ação não produz saídas. No entanto, no final da análise, ele imprime um resumo dos resultados com:
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 o pacote:
pip install broken-links Use o comando broken-links :
broken-links http://example.com --only-error --ignore-file ./check-ignoreArgumentos da linha de comando:
url (opcional): o URL base para começar a raspar. O padrão é http://localhost:4444/ .--only-error ou -o (opcional): se definido, exiba apenas erros. O padrão é false .--ignore-file ou -i (Opcional): caminho para o arquivo ignorar. O padrão é ./check-ignore . Se o parâmetro não estiver definido e o arquivo não existir, ele verá todos os links. Se o parâmetro estiver definido e o arquivo não existir, a ferramenta sairá com um erro.O formato do arquivo ignorante é explicado na seção [Ignorar o formato do arquivo (#ignorar o formato do arquivo) acima.
A imagem do Docker foi construída para essas arquiteturas: arm64 , amd64 e arm7 e foi lançado em Docker-Hub e 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 Os argumentos são os mesmos que a linha de comando ( url , --only-error , --ignore-file ), conforme explicado acima. A opção -ti usada com docker Run exibe a saída do comando conforme gerado.
Para usar o argumento --ignore-file você precisa montar um volume. Por exemplo:
docker run -ti -v /path/on/host/to/ignore-file:/ignore-file merlos/broken-links https://www.example.com --ignore-file /ignore-fileFoi desenvolvido usando Python. Então você precisa instalar o Python em seu sistema.
Clone o repositório:
git clone https://github.com/merlos/broken-links
cd broken-linksDefina um ambiente virtual:
python -m venv venv
source venv/bin/activate Instale o pacote no modo de edição ( -e )
pip install -e .Comece a codificar!
docker build -t broken-links . docker run --rm broken-links http://example.com --only-error Para executar os testes, use o seguinte comando:
python -m unittest discover testsGire e envie uma solicitação de tração. Atualize/adicione os testes de unidade.
Este projeto é licenciado sob os termos da licença pública geral da GNU v3.0 por Merlos.