.github | ||
nix | ||
.envrc | ||
.gitignore | ||
flake.lock | ||
flake.nix | ||
go.mod | ||
go.sum | ||
LICENSE | ||
main.go | ||
README.md |
🚨 mdlinkt
Practical CLI tool for detecting dead or inaccessible links in markdown files.
Usage
To check a markdown file for dead or inaccessible links
$ mdlinkt -file your-file.md
<some output here>
This will return each tested link and a summary message in an example markdown
file containing 1 valid and 1 invalid file. For example, for a test.md
containing https://probablynotvalid.com
:
$ mdlinkt -file test.md
2023/12/12 12:00:00 ERROR Invalid link: https://probablynotvalid.com
2023/12/12 12:00:00 INFO Summary: 1 valid links, 1 invalid links
Should you want more details on the links that are scanned, you may pass the
-verbose
flag.
2023/12/12 12:00:00 INFO https://github.com: 200
2023/12/12 12:00:00 ERROR Invalid link: https://probablynotvalid.com
2023/12/12 12:00:00 INFO Summary: 1 valid links, 1 invalid links
Tip
In case of invalid links, the program will exit with exit
code 1
, making it perfect for usage in GitHub actions or other pipelines.
Performance
For a file containing 10,000 invalid links, the Hyperfine benchmark is as follows.
Command | Mean [ms] | Min [ms] | Max [ms] | Relative |
---|---|---|---|---|
mdlinkt -verbose -file links.md |
822.2 ± 22.6 | 787.4 | 959.8 | 1.00 |
The test has been conducted on a Ryzen 5 3600X, at a 95 ± 5 MB/s bandwitdh speed.
Hacking
A nix flake is provided. Use direnv allow
or nix develop
to enter the
development shell.
Contributing
PRs are always welcome.
License
Available under the GPLv3. See LICENSE for more details.