이 도구는 지정된 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/* - http://example.com/ignore/ 로 시작하는 모든 URL을 무시합니다.*/ignore-this-path/* /ignore-this-path/ 모든 URL을 무시합니다.https://*.domain.com* - https://sub.domain.com 또는 https://sub2.domain.com/page 등과 같은 domain.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 ' 패키지 설치 :
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 입니다. 매개 변수가 설정되지 않고 파일이 존재하지 않으면 모든 링크를 확인합니다. 매개 변수가 설정되고 파일이 존재하지 않으면 도구는 오류가 발생합니다.무시 파일의 형식은 위의 [무시 파일 형식 (#Ignore-File-Format) 섹션에 설명되어 있습니다.
Docker Image는 이러한 아키텍처를 위해 구축되었습니다 : arm64 , amd64 및 arm7
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 )과 동일합니다. docker Run과 함께 사용되는 -ti 옵션은 명령이 생성 될 때 출력을 표시합니다.
--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을 설치해야합니다.
저장소 복제 :
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포크 및 풀 요청을 보냅니다. 단위 테스트를 업데이트/추가하십시오.
이 프로젝트는 Merlos의 GNU General Public License v3.0의 조건에 따라 라이센스가 부여됩니다.