remark-autolink-references
remark
plugin to autolink custom references like GitHub Pro does. Ideal for referencing external issue trackers in changelogs.
Install
With npm do:
npm install remark-autolink-references
Usage with remark
This package is ESM-only.
import remark from 'remark'
import autolink from 'remark-autolink-references'
remark()
.use(autolink, {
prefix: 'JIRA-',
url: 'https://example.atlassian.net/browse/JIRA-<num>'
})
.process('Example (JIRA-4275)', function (err, file) {
console.log(String(file))
})
Results in:
- Example ([JIRA-4275](https://example.atlassian.net/browse/JIRA-4275))
Set fix
to false to only warn about unlinked references, thus acting as a linter:
remark()
.use(autolink, {
prefix: 'JIRA-',
url: 'https://example.atlassian.net/browse/JIRA-<num>',
fix: false
})
Usage with hallmark
This plugin is included in hallmark
>= 3.1.0. It does nothing until configured via package.json
or .hallmarkrc
. Say we have the following markdown in a CHANGELOG.md
with a reference to a Jira ticket:
### Fixed
- Prevent infinite loop (JIRA-4275)
Our package.json
should look like this:
{
"name": "example",
"devDependencies": {
"hallmark": "^3.1.0",
},
"hallmark": {
"autolinkReferences": {
"prefix": "JIRA-",
"url": "https://example.atlassian.net/browse/JIRA-<num>"
}
}
}
Alternatively we can create a .hallmarkrc
file containing:Click to expand
{
"autolinkReferences": {
"prefix": "JIRA-",
"url": "https://example.atlassian.net/browse/JIRA-<num>"
}
}
Running npx hallmark fix
then yields:
### Fixed
- Prevent infinite loop ([JIRA-4275](https://example.atlassian.net/browse/JIRA-4275))
While npx hallmark lint
will warn about unlinked references.
API
autolink(options)
Options:
prefix
(string, required): this prefix appended by a number will generate a linkurl
(string, required): where to link to. Must contain<num>
for the reference number.fix
(boolean, default true): if false, lint without modifying the markdown. Will warn about unlinked references.
License
MIT.
Adapted from remark-github
© 2015 Titus Wormer.