تقوم هذه الأداة بإخلاص جميع الصفحات داخل عنوان 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 or -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.