@arymf/md-links

Clean library that reads markdown text files and validates the state of the contained links [alive/dead].

Usage no npm install needed!

<script type="module">
  import arymfMdLinks from 'https://cdn.skypack.dev/@arymf/md-links';
</script>

README

@arymf/md-links

npm GitHub last commit NPM


Library that reads markdown text files and validates the state of the contained links [alive/dead].


Installation

To add the module to your project:

npm install @arymf/md-links

API

After receiving a valid path, mdLinks extracts all the urls of the valid files (markdown) and checks their status.

mdLinks(<path>, [options])

Parameters:

  • path: The path to a markdown file or directory, that can contain more directories.
  • options: Object of optional options, containing any of the following optional fields
    • validate: (boolean) Verify the status of each link on the file
    • stats: (boolean) Prints the number of links found and the number of unique links
    • recursive: (boolean) Read all the sub directories contained in the path.

Response:

  • Object with the following properties:
    • href: Retrieved url
    • text: Text that accompanies the link
    • file: File/directory path
    • status: (Ok/Fail) Status of the url
    • responseCode: Responding code

Module examples

Basic usage

mdLinks('directory/file.md').then(response =>{
    console.log(response);
}).catch(err => {
    console.error(err);
});

With options

mdLinks('directory/file.md', {validate: true, stats: true}).then(response =>{
    console.log(response);
}).catch(err => {
    console.error(err);
});

CLI

Check links from a markdown file

$ md-links -p ./readME.md -v

Check links from a local markdown folder with recursive search

$ md-links -- path ./other --validate --recursive

Usage

Usage: md-Links -p <path> [options]

Options:
--help, -h       Show help                                           [boolean]
--version, -V    Show version number                                 [boolean]
--path, -p       <filename> Input file name.                        [required]
--validate, -v   Verify the status of each link on the file.
--stats, -s      Prints the number of links found and the number of unique
                links.
--recursive, -r  Search in all the sub directories of the given path

Examples:
md-Links --path ./ --validate --stats --recursive