Skip to content

Conversation

Aaqilyousuf
Copy link
Contributor

@Aaqilyousuf Aaqilyousuf commented Sep 18, 2025

Description:

This PR addresses and resolves #222 by improving the check-broken-links-md.py script to make it more robust, maintainable, and reliable.

Changes Made:

  • ✅ Fixed whitelist handling so only non-exempt URLs are flagged.

  • ✅ Improved subprocess handling to separate stdout/stderr for clearer debugging.

  • ✅ Replaced os._exit(1) with sys.exit(1) for safe process termination.

  • ✅ Introduced regex-based parsing instead of fragile string checks.

  • ✅ Refactored code into smaller, testable functions.

  • ✅ Centralized constants (e.g., 429 status code, exception list).

  • ✅ Added support for configurable exception lists (via CLI or JSON/YAML).

  • ✅ Enhanced output with clearer summary of links checked, failed, and skipped.

Why this is needed:

These changes make the script easier to maintain, extend, and debug, while ensuring accurate link checking results and safer process handling.

Screenshots

Screenshot 2025-09-18 201625 Screenshot 2025-09-18 201524 Screenshot 2025-09-18 201600

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Improve check-broken-links-md.py (Robustness, Filtering, Exit Handling)
2 participants