A backend for mdBook that automatically checks links in documentation for validity.
mdbook-linkcheck is a backend plugin for mdBook, the documentation tool from the Rust ecosystem. It automatically scans and validates both internal and external links within documentation projects to identify broken links before publication, helping maintain documentation quality and reliability.
Technical writers and developers using mdBook to create and maintain documentation, particularly those integrating documentation checks into CI/CD pipelines.
Developers choose mdbook-linkcheck for its seamless integration with mdBook, configurable link validation with caching to reduce network overhead, and the ability to enforce link integrity as part of automated workflows.
A backend for mdbook which will check your links for you.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Scans both internal file references and external web URLs during mdBook builds, automatically identifying broken links before publication to maintain documentation quality.
Allows customization via TOML settings, such as excluding links with regex patterns, setting HTTP headers for authenticated sites, and controlling warning policies for CI/CD integration.
Implements a cache with configurable timeout to store link check results, reducing repeated network requests and speeding up subsequent builds, as mentioned in the configuration options.
Designed for seamless workflow integration, with pre-built Docker images available and examples for GitLab CI, making it easy to incorporate into automated pipelines.
Checking external web links adds a non-negligible performance impact, as admitted in the README's configuration notes, which can slow down builds.
Requires installation via Cargo or manual downloads, and configuring book.toml can change build directory structures, adding steps compared to built-in tools.
Tied exclusively to mdBook, so switching to another documentation tool would necessitate finding and integrating a different link checker.
Cached results may become stale if not properly managed with timeouts, potentially missing newly broken links until cache expiration.