eslint-plugin-markdown-links
eslint-plugin-markdown-links
is an ESLint plugin that provides rules for checking the validity of links and URLs in Markdown files. It helps you:
- Detect and report dead or unreachable URLs in Markdown documents
- Customize rule behavior via flexible configuration
This plugin is designed to work alongside @eslint/markdown and is especially useful for documentation, wikis, and codebases that rely on Markdown files.
📛 Features
- Reports dead or unreachable external URLs in Markdown files
- Supports flexible configuration for rule behavior
- Integrates with ESLint and works alongside @eslint/markdown
- Provides recommended config for easy setup
Try it live: Check out the Online Demo to see the plugin in action!
📖 Documentation
For detailed usage instructions, rule configurations, and examples, visit our comprehensive documentation site.
💿 Installation
npm install --save-dev eslint @eslint/markdown eslint-plugin-markdown-links
📖 Usage
Configuration
New Config (eslint.config.js
)
Use eslint.config.js
file to configure rules. See also: https://eslint.org/docs/latest/use/configure/configuration-files-new.
Example eslint.config.js:
import { defineConfig } from "eslint/config";
// import markdown from "@eslint/markdown";
import markdownLinks from "eslint-plugin-markdown-links";
export default [
// add more generic rule sets here, such as:
// markdown.configs.recommended,
markdownLinks.configs.recommended,
{
rules: {
// override/add rules settings here, such as:
// 'markdown-links/no-dead-urls': 'error'
},
},
];
This plugin provides configs:
*.configs.recommended
... Recommended config provided by the plugin.
See the rule list to get the rules
that this plugin provides.
Legacy Config (.eslintrc
)
Is not supported.
✅ Rules
The --fix
option on the command line automatically fixes problems reported by rules which have a wrench 🔧 below.\
The rules with the following star ⭐ are included in the configs.
Markdown Link Rules
Rule ID | Description | Fixable | RECOMMENDED |
---|---|---|---|
markdown-links/no-dead-urls | disallow dead external link urls | ||
markdown-links/no-missing-fragments | disallow missing fragment identifiers in same-file Markdown links | ||
markdown-links/no-missing-path | disallow missing local file paths in Markdown links and images | ⭐ | |
markdown-links/no-self-destination | disallow redundant self-destination links | ⭐ |
👫 Related Packages
- eslint-plugin-markdown-preferences ... ESLint plugin that enforces our markdown preferences.
🍻 Contributing
Welcome contributing!
Please use GitHub's Issues/PRs.
Development Tools
npm test
runs tests and measures coverage.npm run update
runs in order to update readme and recommended configuration.
🔒 License
See the LICENSE file for license rights and limitations (MIT).