marked-react
TypeScript icon, indicating that this package has built-in type declarations

3.0.0 • Public • Published

marked-react

Render Markdown as React components using marked.

Tests Version License

TL;DR

  • Uses marked to parse markdown
  • Renders actual react elements instead of using dangerouslySetInnerHTML
  • HTML in markdown is rendered as plain text

Demo

Installation

$ npm i marked-react

Usage

import ReactDOM from 'react-dom';
import Markdown from 'marked-react';

const domContainer = document.getElementById('root');
const root = ReactDOM.createRoot(domContainer);
root.render(<Markdown># Hello world!</Markdown>);

Component Props

  • value[string] - Markdown content.
  • baseURL [string] - A prefix url for any relative link.
  • openLinksInNewTab [boolean] - Attribute target=_blank will be added to link elements
  • langPrefix [string] - A string to prefix the className in a <code> block. Useful for syntax highlighting. Defaults to language-.
  • breaks [boolean] - Add br tag on single line breaks. Requires gfm to be true
  • gfm [boolean] - Use approved Github Flavoured Markdown
  • isInline[boolean] - Parse inline markdown.

Syntax highlight code blocks

An example with react-lowlight

import ReactDOM from 'react-dom';
import Markdown from 'marked-react';
import Lowlight from 'react-lowlight';
import javascript from 'highlight.js/lib/languages/javascript';

Lowlight.registerLanguage('js', javascript);

const renderer = {
  code(snippet, lang) {
    return <Lowlight key={this.elementId} language={lang} value={snippet} />;
  },
};

const markdown = 'console.log("Hello world!")';

const domContainer = document.getElementById('root');
const root = ReactDOM.createRoot(domContainer);
root.render(<Markdown value={markdown} renderer={renderer} />);

Some awesome options available to highlight code

Versions

Current Tags

VersionDownloads (Last 7 Days)Tag
3.0.0
14,905latest

Version History

VersionDownloads (Last 7 Days)Published
3.0.0
14,905
2.0.0
11,220
1.4.0
1,538
1.3.2299
1.3.14
1.3.073
1.2.043
1.1.241
1.1.13
1.1.00
1.0.30
1.0.20
1.0.10
1.0.00
0.3.00
0.2.10
0.2.00
0.1.20
0.1.10
0.1.00

Package Sidebar

Install

npm i marked-react

Weekly Downloads

27,123

Version

3.0.0

License

MIT

Unpacked Size

76.6 kB

Total Files

9

Last publish

Collaborators

  • sibiraj-s