remark-bookmarks
remark plugin to manage links.
Archived
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.
Install
npm:
npm install remark-bookmarks
Use
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
API
remark().use(bookmarks[, options])
Manage links.
options
options.bookmarks
The URLs to share across Markdown documents (Object.<string>
). References are case insensitive.
options.overwrite
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.
Security
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.
Related
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
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.