-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
Feature Description
Currently, external link validation is available through the validate
command using the --check-external
flag. However, it would be beneficial to have a dedicated command specifically for checking external URLs, similar to how other markdown link checkers work.
Proposed Solution
Add a new standalone command check-links
or validate-external
that:
- Focuses exclusively on external URL validation without requiring additional flags
- Provides a streamlined interface for this common use case
- Includes smart defaults optimized for external link checking
Example Usage
# Check all external links in the current directory
npx markmv check-links
# Check with custom timeout and specific files
npx markmv check-links docs/**/*.md --timeout 10000
# Check with retry logic for flaky connections
npx markmv check-links --retry 3 --retry-delay 1000
# Output results in different formats
npx markmv check-links --format json
npx markmv check-links --format markdown > broken-links.md
Benefits
- Improved discoverability - Users looking for external link validation will find it more easily
- Better defaults - Can optimize timeouts, retries, and output specifically for external URL checking
- Cleaner CLI interface - No need to remember
--check-external
flag combination - Feature parity - Matches the pattern of dedicated tools like
markdown-link-check
Additional Features to Consider
- Parallel checking with configurable concurrency
- Smart retry logic for temporary network failures
- Response code filtering (e.g., ignore 403s from bot detection)
- Cache support to avoid re-checking recently validated URLs
- Progress indicator for large documentation sets
- Ignore patterns via config file or CLI flags
- HTTP method configuration (HEAD vs GET requests)
Alternative Naming Suggestions
markmv check-external
markmv validate-urls
markmv link-check
markmv external-links
This would make markmv even more powerful as a complete markdown maintenance toolkit while maintaining its focus on intelligent link management.
Metadata
Metadata
Assignees
Labels
No labels