strip-markdown
remark plugin to remove markdown formatting. This essentially removes everything but paragraphs and text.
This is one of the first remark plugins, before prefixing with
remark-
got cool.
Contents
What is this?
This package is a unified (remark) plugin to remove most nodes so as to just leave text.
When should I use this?
You can use this if you want to ignore the syntax of markdown.
Install
This package is ESM only. In Node.js (version 16+), install with npm:
npm install strip-markdown
In Deno with esm.sh
:
import stripMarkdown from 'https://esm.sh/strip-markdown@6'
In browsers with esm.sh
:
<script type="module">
import stripMarkdown from 'https://esm.sh/strip-markdown@6?bundle'
</script>
Use
import {remark} from 'remark'
import strip from 'strip-markdown'
const file = await remark()
.use(strip)
.process('Some *emphasis*, **importance**, and `code`.')
console.log(String(file))
Yields:
Some emphasis, importance, and code.
API
This package exports no identifiers. The default export is stripMarkdown
.
unified().use(stripMarkdown[, options])
Remove markdown formatting.
- remove
code
,html
,horizontalRule
,table
,toml
,yaml
, and their content - render everything else as simple paragraphs without formatting
- uses
alt
text for images
Parameters
option
(Options
, optional) — configuration
Returns
Transform (Transformer
).
Handler
Transform a node (TypeScript type).
Parameters
node
(Node
) — node
Returns
Result (Array<Node>
or Node
).
Options
Configuration (TypeScript type).
Fields
keep
(Array<string>
, optional) — list of node types to leave unchangedremove
(Array<[string, Handler] | string>
, optional) — list of node types to remove (or replace, with handlers)
Types
This package is fully typed with TypeScript. It exports the additional types Handler
and Options
.
Compatibility
Projects maintained by the unified collective are compatible with maintained versions of Node.js.
When we cut a new major release, we drop support for unmaintained versions of Node. This means we try to keep the current release line, strip-markdown@6
, compatible with Node.js 16.
Security
Use of strip-markdown
does not involve rehype (hast) or user content so there are no openings for cross-site scripting (XSS) attacks.
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.