remark-unlink-protocols
remark plugin to turn links into plain text based on their protocols.
Contents
- What is this?
- When should I use this?
- Install
- Use
- API
- Types
- Compatibility
- Security
- Contribute
- License
What is this?
This package is a unified (remark) plugin to remove all links
that use other protocols than the ones specified
(http
and https
by default).
When should I use this?
This project is useful if you want to limit the protocols that can be linked to when processing markdown.
Install
This package is ESM only. In Node.js (version 16+), install with npm:
npm install remark-unlink-protocols
Use
Say 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).
API
This package exports no identifiers.
The default export is remarkUnlinkProtocols
.
unified().use(remarkUnlinkProtocols)
Remove all links and references that do not use the http
or https
protocols.
Parameters
except
: string[]
- protocols to keep - ['http', 'https']
by default.
Returns
Transform (Transformer
).
Types
This package is fully typed with TypeScript. It exports no additional types.
Compatibility
The current release, remark-unlink-protocols@^1
is compatible with Node.js 22.
This plugin works with unified
version 3+ and remark
version 4+.
Security
Use of remark-unlink-protocols
does not involve
rehype (hast) or user content
so there are no openings for cross-site scripting (XSS)
attacks.
Contribute
Nextcloud and Remarkjs have a code of conduct. By interacting with the respective repositories, organization, or community you agree to abide by its terms.
License
MIT © 2025 Nextcloud GmbH and Nextcloud contributors