remove-markdown

Remove Markdown formatting from text

remove-markdown downloads remove-markdown version remove-markdown license

remove-markdownSimilar Packages:
Npm Package Weekly Downloads Trend
3 Years
🌟 Show real-time usage chart on remove-markdown's README.md, just copy the code below.
## Usage Trend
[![Usage Trend of remove-markdown](https://npm-compare.com/img/npm-trend/THREE_YEARS/remove-markdown.png)](https://npm-compare.com/remove-markdown#timeRange=THREE_YEARS)
Cumulative GitHub Star Trend
🌟 Show GitHub stars trend chart on remove-markdown's README.md, just copy the code below.
## GitHub Stars Trend
[![GitHub Stars Trend of remove-markdown](https://npm-compare.com/img/github-trend/remove-markdown.png)](https://npm-compare.com/remove-markdown)
Stat Detail
Package
Downloads
Stars
Size
Issues
Publish
License
remove-markdown616,40736026 kB9a month agoMIT
README for remove-markdown

npm version npm downloads GitHub Actions Build Status

What is it?

remove-markdown is a node.js module that will remove (strip) Markdown formatting from text. Markdown formatting means pretty much anything that doesn’t look like regular text, like square brackets, asterisks etc.

When do I need it?

The typical use case is to display an excerpt from some Markdown text, without any of the actual Markdown syntax - for example in a list of posts.

Installation

npm install remove-markdown

Usage

const removeMd = require('remove-markdown');
const markdown = '# This is a heading\n\nThis is a paragraph with [a link](http://www.disney.com/) in it.';
const plainText = removeMd(markdown); // plainText is now 'This is a heading\n\nThis is a paragraph with a link in it.'

You can also supply an options object to the function. Currently, the following options are supported:

const plainText = removeMd(markdown, {
  stripListLeaders: true ,     // strip list leaders (default: true)
  listUnicodeChar: '',         // char to insert instead of stripped list leaders (default: '')
  gfm: true,                   // support GitHub-Flavored Markdown (default: true)
  useImgAltText: true,         // replace images with alt-text, if present (default: true)
  abbr: true,                  // remove abbreviations, if present (default: false)
  replaceLinksWithURL: true,   // remove inline links, if present (default: false)
  separateLinksAndTexts: ': ', // replace inline links with text, separator and link, if present (default: null)
  htmlTagsToSkip: ['a', 'b']   // HTML tags to skip, if present (default: [])
});

Setting stripListLeaders to false will retain any list characters (*, -, +, (digit).).

TODO

PRs are very much welcome. Here are some ideas for future enhancements:

  • Allow the RegEx expressions to be customized per rule
  • Make the rules more robust, support more edge cases
  • Add more (comprehensive) tests

Credits

The code is based on Markdown Service Tools - Strip Markdown by Brett Terpstra.

Authors

Stian Grytøyr (original creator) zuchka (maintainer since 2023)