.github | ||
.husky | ||
.vscode | ||
src | ||
test | ||
.commitlintrc.json | ||
.editorconfig | ||
.eslintrc.json | ||
.gitattributes | ||
.gitignore | ||
.lintstagedrc.json | ||
.markdownlint-cli2.jsonc | ||
.npmrc | ||
.prettierrc.json | ||
.releaserc.json | ||
.taprc | ||
CODE_OF_CONDUCT.md | ||
CONTRIBUTING.md | ||
LICENSE | ||
package-lock.json | ||
package.json | ||
README.md |
markdownlint-rule-relative-links
Custom rule for markdownlint to validate relative links.
📜 About
markdownlint-rule-relative-links is a markdownlint custom rule to validate relative links.
It ensures that relative links (using file:
protocol) are working and not "dead" which means that it exists in the file system of the project that uses markdownlint.
Example
File structure:
├── abc.txt
└── awesome.md
With awesome.md
content:
[abc](./abc.txt)
[Dead link](./dead.txt)
Running markdownlint-cli2 with markdownlint-rule-relative-links
will output:
awesome.md:3 relative-links Relative links should be valid [Link "./dead.txt" is dead]
Related links
Prerequisites
- Node.js >= 16.0.0
Installation
npm install --save-dev markdownlint-rule-relative-links
Configuration
There are various ways markdownlint can be configured using objects, config files etc. For more information on configuration refer to options.config.
We recommend configuring markdownlint-cli2 over markdownlint-cli for compatibility with the vscode-markdownlint extension.
.markdownlint-cli2.jsonc
{
"config": {
"default": true,
"relative-links": true
},
"globs": ["**/*.{md,mdx}"],
"ignores": ["**/node_modules"],
"customRules": ["markdownlint-rule-relative-links"]
}
package.json
{
"scripts": {
"lint:markdown": "markdownlint-cli2"
}
}
Usage
npm run lint:markdown
💡 Contributing
Anyone can help to improve the project, submit a Feature Request, a bug report or even correct a simple spelling mistake.
The steps to contribute can be found in the CONTRIBUTING.md file.