Этот инструмент очищает все страницы в указанном URL -адресах и проверяет, существуют ли ссылки на назначение. Он сообщает на исходную страницу, текст якоря, URL -адрес назначения и работает ли ссылка или нет. Если какая -либо из ссылок не работает, инструмент выходит с кода ошибки. Это также предоставляет краткое изложение анализа.
Его можно запустить как действие GitHub , как инструмент командной строки и в качестве контейнера Docker .
Этот инструмент также может быть использован в качестве действия GitHub для автоматической проверки ссылок в вашем репозитории.
url (необязательно): базовый URL, чтобы начать соскабливание с. По умолчанию http://localhost:4444/ .only-errors (необязательно): если установить на TRUE, отображать только ошибки. По умолчанию false .ignore-file (необязательно): Путь к файлу игнорирования. По умолчанию ./check-ignore . Если параметр установлен и файл не существует, действие выходит с ошибкой. См. Раздел «Игнорировать формат файла» выше для получения дополнительной информации.Файл игнорирования должен содержать один шаблон URL на строку. Паттерны могут включать в себя подстановочные знаки (*), чтобы соответствовать нескольким URL -адресам. Вот несколько примеров:
http://example.com/ignore-this-page этот конкретный URL.http://example.com/ignore/* - игнорирует все URL -адреса, которые начинаются с http://example.com/ignore/ .*/ignore-this-path/* -игнорирует все URL-адреса, которые содержат /ignore-this-path/ .https://*.domain.com* - игнорирует все субдомены domain.com , такие как https://sub.domain.com или https://sub2.domain.com/page и т. Д.Это действие не производит никаких выходов. Однако в конце анализа он печатает краткое изложение результатов с:
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 ' Установите пакет:
pip install broken-links Используйте команду broken-links :
broken-links http://example.com --only-error --ignore-file ./check-ignoreАргументы командной строки:
url (необязательно): базовый URL, чтобы начать соскабливание с. По умолчанию http://localhost:4444/ .--only-error или -o (необязательно): если установлено, отображать только ошибки. По умолчанию false .--ignore-file или -i (необязательно): Путь к файлу игнорирования. По умолчанию ./check-ignore . Если параметр не установлен и файл не существует, он проверяет все ссылки. Если параметр установлен и файл не существует, инструмент выходит с ошибкой.Формат файла игнорирования объясняется в разделе [игнорировать формат файла (#игнорировать форму).
Изображение Docker было построено для этих архитектур: arm64 , amd64 и arm7 и был выпущен в Docker-Hub и 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 Аргументы такие же, как командная строка ( url , --only-error , --ignore-file ), как объяснено выше. Опция -ti , используемая с docker Run, отображает выходной сигнал команды при его генерировании.
Чтобы использовать аргумент- --ignore-file вам нужно установить объем. Например:
docker run -ti -v /path/on/host/to/ignore-file:/ignore-file merlos/broken-links https://www.example.com --ignore-file /ignore-fileОн был разработан с использованием Python. Таким образом, вам нужно установить Python в вашей системе.
Клонировать репозиторий:
git clone https://github.com/merlos/broken-links
cd broken-linksУстановите виртуальную среду:
python -m venv venv
source venv/bin/activate Установите пакет в режиме редактирования ( -e )
pip install -e .Начните кодировать!
docker build -t broken-links . docker run --rm broken-links http://example.com --only-error Чтобы запустить тесты, используйте следующую команду:
python -m unittest discover testsВилка и отправьте запрос на привлечение. Пожалуйста, обновите/добавьте модульные тесты.
Этот проект лицензирован в соответствии с условиями Главной публичной лицензии GNU V3.0 Merlos.