เครื่องมือนี้จะทำให้หน้าเว็บทั้งหมดภายใน URL ที่ระบุและตรวจสอบว่ามีลิงก์ปลายทางหรือไม่ มันรายงานหน้าต้นฉบับข้อความของสมอ URL ปลายทางและลิงก์นั้นใช้งานได้หรือไม่ หากลิงค์ใด ๆ ไม่ทำงานเครื่องมือจะออกด้วยรหัสข้อผิดพลาด นอกจากนี้ยังให้บทสรุปของการวิเคราะห์
มันสามารถเรียกใช้เป็นการ กระทำของ GitHub เป็น เครื่องมือบรรทัดคำสั่ง และเป็น คอนเทนเนอร์ Docker
เครื่องมือนี้ยังสามารถใช้เป็นแอ็คชั่น GitHub เพื่อตรวจสอบลิงก์ในที่เก็บของคุณโดยอัตโนมัติ
url (ไม่บังคับ): URL พื้นฐานเพื่อเริ่มการขูดจาก ค่าเริ่มต้นคือ http://localhost:4444/only-errors (เป็นทางเลือก): หากตั้งค่าเป็นจริงให้แสดงข้อผิดพลาดเท่านั้น ค่าเริ่มต้นเป็น falseignore-file (ไม่บังคับ): พา ธ ไปยังไฟล์ที่ไม่สนใจ ค่าเริ่มต้นคือ ./check-ignore 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 check-ignore หากพารามิเตอร์ไม่ได้ตั้งค่าและไม่มีไฟล์จะตรวจสอบลิงก์ทั้งหมด หากมีการตั้งค่าพารามิเตอร์และไม่มีไฟล์เครื่องมือจะออกจากข้อผิดพลาดรูปแบบของไฟล์ที่ไม่สนใจอธิบายไว้ในส่วน [เพิกเฉยต่อไฟล์ (#ละเว้นฟอร์แมตไฟล์) ด้านบน
ภาพนักเทียบท่าถูกสร้างขึ้นสำหรับสถาปัตยกรรมเหล่านี้: 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