1.0.3 • Published 8 years ago

remark-lint-are-links-valid v1.0.3

Weekly downloads
415
License
MIT
Repository
github
Last release
8 years ago

remark-lint-are-links-valid

Build Status Coverage Status

This rule checks every link in your Markdown file to point to the existing resource. There are also different options to configure.

Inspired by awesome_bot.

Using the rule

Via .remarkrc

npm install -g remark
npm install -g remark-lint
npm install remark-lint-are-links-valid # local install!

Then, set up your .remarkrc:

{
  "plugins": {
    "remark-lint": {
      "external": ["remark-lint-are-links-valid"]
    }
  }
}

Now you can use the following command to run the lint:

remark --no-stdout xxx.md

Using different options

Set up your .remarkrc:

{
  "plugins": {
    "remark-lint": {
      "external": ["remark-lint-are-links-valid"],
      "are-links-valid": {
        "allowDuplicates": false,
        "whiteListDomains": ["github.com"],

        "allowErrors": [301],
        "allowRedirects": true,
        "timeout": 10000,
      }
    }
  }
}

Options:

  • allowDuplicates, defaults to true, if set to false checks for each domain to be unique on the page, some domains can be whitelisted by the whiteListDomains option.
  • whiteListDomains, defaults to [], if both allowDuplicates is set to false and it is set to any array containing string domains, will not raise any warnings when there are multiple urls for the same domain on the single page.
  • allowErrors, defaults to [], when the link is validated it is expected to have the HTTP status code 2XX, this setting allows to add any other numeric values.
  • allowRedirects, defaults to true, when set to false will not follow any redirects from the linked resource.
  • timeout, defaults to 5000, change this value to set the desired timeout for the request.

Via CLI

npm install -g remark
npm install -g remark-lint
npm install -g remark-lint-are-links-valid # global install!
remark --no-stdout -u remark-lint="external:[\"remark-lint-are-links-valid\"]" xxx.md

Note that the lint=<lint_options> option only works with remark >= 1.1.1.

Changelog

See CHANGELOG.md.

License

MIT, see LICENSE.md for details.

This README.md is based on this one by @chcokr (MIT).