Skip to content

zuchka/remove-markdown

Repository files navigation

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)

About

Strip Markdown stuff from text

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors 36