Warn when references to undefined definitions are found.
Options: Object
, optional.
The object can have an allow
field, set to an array of strings that may
appear between [
and ]
, but that should not be treated as link
identifiers.
Presets
This rule is included in the following presets:
Example
ok.md
In
[foo][]
Just a [ bracket.
Typically, you’d want to use escapes (with a backslash: \\) to escape what
could turn into a \[reference otherwise].
Just two braces can’t link: [].
[foo]: https://example.com
Out
No messages.
not-ok.md
In
[bar]
[baz][]
[text][qux]
Spread [over
lines][]
> in [a
> block quote][]
[asd][a
Can include [*emphasis*].
Multiple pairs: [a][b][c].
Out
1:1-1:6: Found reference to undefined definition
3:1-3:8: Found reference to undefined definition
5:1-5:12: Found reference to undefined definition
7:8-8:9: Found reference to undefined definition
10:6-11:17: Found reference to undefined definition
13:1-13:6: Found reference to undefined definition
15:13-15:25: Found reference to undefined definition
17:17-17:23: Found reference to undefined definition
17:23-17:26: Found reference to undefined definition
ok-allow.md
When configured with { allow: [ '...', '…' ] }
.
In
> Eliding a portion of a quoted passage […] is acceptable.
Out
No messages.
Install
npm:
npm install remark-lint-no-undefined-references
Use
You probably want to use it on the CLI through a config file:
…
"remarkConfig": {
"plugins": [
…
"lint",
+ "lint-no-undefined-references",
…
]
}
…
Or use it on the CLI directly
remark -u lint -u lint-no-undefined-references readme.md
Or use this on the API:
var remark = require('remark')
var report = require('vfile-reporter')
remark()
.use(require('remark-lint'))
+ .use(require('remark-lint-no-undefined-references'))
.process('_Emphasis_ and **importance**', function (err, file) {
console.error(report(err || file))
})
Contribute
See contributing.md
in remarkjs/.github
for ways
to get started.
See support.md
for ways to get help.
This project has a code of conduct.
By interacting with this repository, organization, or community you agree to
abide by its terms.
License
MIT © Titus Wormer