|
|
hai 1 ano | |
|---|---|---|
| .. | ||
| node_modules | hai 1 ano | |
| types | hai 1 ano | |
| index.js | hai 1 ano | |
| license | hai 1 ano | |
| package.json | hai 1 ano | |
| readme.md | hai 1 ano | |
remark plugin to automatically add target and rel attributes
to external links.
This plugin is ready for the new parser in remark
(remarkjs/remark#536).
The current and previous versions of the plugin work with the current and
previous versions of remark.
npm:
npm install remark-external-links
Say we have the following file, example.js:
var remark = require('remark')
var html = require('remark-html')
var externalLinks = require('remark-external-links')
remark()
.use(externalLinks, {target: false, rel: ['nofollow']})
.use(html)
.process('[remark](https://github.com/remarkjs/remark)', function(err, file) {
if (err) throw err
console.log(String(file))
})
Now, running node example yields:
<p><a href="https://github.com/remarkjs/remark" rel="nofollow">remark</a></p>
remark().use(externalLinks[, options])Automatically add target and rel attributes to external links.
optionsoptions.targetHow to display referenced documents (string?: _self, _blank, _parent,
or _top, default: _blank).
Pass false to not set targets on links.
options.relLink types to hint about the referenced documents (Array.<string>
or string, default: ['nofollow', 'noopener', 'noreferrer']).
Pass false to not set rels on links.
When using a
target, addnoopenerandnoreferrerto avoid exploitation of thewindow.openerAPI.
options.protocolsProtocols to check, such as mailto or tel (Array.<string>, default:
['http', 'https']).
options.contenthast content to insert at the end of external links
(Node or Children).
Will be inserted in a <span> element.
Useful for improving accessibility by giving users advanced warning when opening a new window.
options.contentPropertiesProperties to add to the span wrapping content, when
given.
options.content is used and injected into the tree when it’s given.
This could open you up to a cross-site scripting (XSS) attack if you pass
user provided content in.
This may become a problem if the Markdown later transformed to rehype (hast) or opened in an unsafe Markdown viewer.
Most likely though, this plugin will instead protect you from exploitation of
the window.opener API.
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.