/eslint-plugin-markdown-links

ESLint plugin with powerful checking rules related to Markdown links

Primary LanguageTypeScriptMIT LicenseMIT

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.

NPM license NPM version NPM downloads NPM downloads NPM downloads NPM downloads NPM downloads

📛 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

🍻 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).