Skip to content

Feature Request: Add standalone command for external link validation #37

@Mearman

Description

@Mearman

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:

  1. Focuses exclusively on external URL validation without requiring additional flags
  2. Provides a streamlined interface for this common use case
  3. 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

  1. Improved discoverability - Users looking for external link validation will find it more easily
  2. Better defaults - Can optimize timeouts, retries, and output specifically for external URL checking
  3. Cleaner CLI interface - No need to remember --check-external flag combination
  4. 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

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions