remark plugin to turn links into plain text based on their protocols.
- What is this?
- When should I use this?
- Install
- Use
- API
- Types
- Compatibility
- Security
- Contribute
- License
This package is a unified (remark) plugin to remove all links
that use other protocols than the ones specified
(http and https by default).
This project is useful if you want to limit the protocols that can be linked to when processing markdown.
This package is ESM only. In Node.js (version 16+), install with npm:
npm install remark-unlink-protocolsSay we have the following file example.md and apply remark-unlink-protocols
with the default protocols (http and https).
# Uranus
**Uranus** is the seventh [planet](/wiki/Planet 'Planet') from the Sun and is a
gaseous cyan [ice giant](/wiki/Ice_giant 'Ice giant').
Photograph of Uranus in true colour by Voyager 2 in 1986:
_-_JPEG_converted.jpg>)
Send comments to [me](mailto:test@domain.example)…and a module example.js:
import {remark} from 'remark'
import remarkUnlinkProtocols from 'remark-unlink-protocols'
import {read} from 'to-vfile'
const file = await remark()
.use(remarkUnlinkProtocols, { except: 'mailto' })
.process(await read('example.md'))
console.log(String(file))…then running node example.js yields:
# Uranus
**Uranus** is the seventh planet from the Sun and is a
gaseous cyan ice giant.
Photograph of Uranus in true colour by Voyager 2 in 1986:
_-_JPEG_converted.jpg>)
The Voyager project is managed for NASA by the Jet Propulsion
Laboratory.
Send comments to [me](mailto:test@domain.example).This package exports no identifiers.
The default export is remarkUnlinkProtocols.
Remove all links and references that do not use the http or https protocols.
except: string[] - protocols to keep - ['http', 'https'] by default.
Transform (Transformer).
This package is fully typed with TypeScript. It exports no additional types.
The current release, remark-unlink-protocols@^1 is compatible with Node.js 22.
This plugin works with unified version 3+ and remark version 4+.
Use of remark-unlink-protocols does not involve
rehype (hast) or user content
so there are no openings for cross-site scripting (XSS)
attacks.
Nextcloud and Remarkjs have a code of conduct. By interacting with the respective repositories, organization, or community you agree to abide by its terms.
MIT © 2025 Nextcloud GmbH and Nextcloud contributors