remark plugin to manage links.
This project is now archived. A new parser in remark happened, which is 100% compliant to CommonMark. Which means the things this plugin used are no longer available. Rewriting this plugin would be a lot of work, and while it’s a fun idea, this plugin wasn’t used much, and hence I am instead archiving it.
npm:
npm install remark-bookmarks
Say we have the following file, example.md
:
`remark-bookmarks` is on [npm][]!
And our script, example.js
, looks as follows:
const vfile = require('to-vfile')
const remark = require('remark')
const bookmarks = require('remark-bookmarks')
remark()
.use(bookmarks, {
bookmarks: {
github: 'https://github.com/remarkjs/remark-bookmarks',
npm: 'https://npmjs.com/package/remark-bookmarks'
}
})
.process(vfile.readSync('example.md'), function(err, file) {
if (err) throw err
console.log(String(file))
})
Now, running node example
yields:
`remark-bookmarks` is on [npm][]!
[npm]: https://npmjs.com/package/remark-bookmarks
Manage links.
The URLs to share across Markdown documents (Object.<string>
).
References are case insensitive.
Pass overwrite: true
to ensure that references are used consistently.
By default (false
), the existing references in the file will take precedence
over anything defined globally.
options.bookmarks
is used and injected into the tree as definitions when the
content references them.
This could open you up to a cross-site scripting (XSS) attack if you pass
user provided content as bookmarks.
This may become a problem if the Markdown later transformed to rehype (hast) or opened in an unsafe Markdown viewer.
remark-inline-links
— Transform references and definitions into normal links and imagesremark-defsplit
— Transform links and images into references and definitions with URI-based identifiersremark-reference-links
— Transform links and images into references and definitionsremark-unlink
— Remove all links, references and definitions
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.