Tool for checking links in the markdown files
npm install md-check-linkThis tool was created as a a fork of markdown-link-check with added support for checking links to docsify aliases. During the development it turned out that the original tool is not maintained anymore, and too many changes are required to make it performant and fully functional. Therefore, it was decided to create a new tool with a new name and keep only similar configuration options and reporting format.
Features:
- check for broken links in markdown files
- validate anchors to headers in the same file and to other files in the same project (relative links)
- validate links to external resources
- validate links to websites hosting markdowns with docsify (e.g. GitHub pages)
- parallel processing of links
- configurable timeout and retry count
- configurable replacement patterns for links (e.g. to replace docsify aliases with raw links)
- configurable alive status codes
- node.js 20.x or higher
npm install -g md-check-link
``
Usage: md-check-link [options] [filesOrFolders...]
Options:
-V, --version output the version number
-n, --parallel
-c, --config [config] apply a config file (JSON), holding e.g. url specific header configuration
-q, --quiet displays errors only
-h, --help display help for command
``
Example:`
md-check-link -n 8 -c config.json docs
This workflow verify links in all markdown files in the repository. It runs every day at midnight and on pull requests. You can also run it manually.
`
name: Verify markdown links
on:
workflow_dispatch:
schedule:
- cron: '0 0 *'
pull_request:
jobs:
verify-links:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install node.js
uses: actions/setup-node@v4
with:
node-version: '20.x'
- name: Install md-check-link
run: npm install -g md-check-link
- name: Verify links
run: |
md-check-link -q -n 8 -c https://raw.githubusercontent.com/kyma-project/md-check-link/main/.mlc.config.js ./
`
{
"ignorePatterns": [
{
"pattern": "^http://example.net"
}
],
"replacementPatterns": [
{
"docsify": true,
"pattern": "^https://kyma-project.io/#/btp-manager/",
"replacement": "https://raw.githubusercontent.com/kyma-project/btp-manager/main/docs/"
},
{
"pattern": "^/api-gateway/",
"replacement": "https://raw.githubusercontent.com/kyma-project/api-gateway/main/docs/"
} ],
"timeout": "10s",
"retryCount": 5,
"aliveStatusCodes": [200]
}
``See the Contributing Rules.
See the Code of Conduct document.
See the license file.