A React markdown editor and previewer.
See the codeA React markdown editor and previewer.
yarn add react-markplus
import MarkPlus from "react-markplus";
<MarkPlus markdown="# Hello world!" />;
You will need to import the following CSS:
Initial markdown text to load into the editor.
<MarkPlus markdown="# Hello world!" />;
Default value is ''.
A callback function to be invoked automatically when markdown text changes.
<MarkPlus
onChange={(markdown) => {
console.log("markdown text changed to:", markdown);
}}
/>;
Default value is () => {}.
A callback function to be invoked automatidally when preview html changes.
This has been removed from the library. Because you are supposed to generate preview using markplus-engine.
Show, hide or remove toolbar.
<MarkPlus toolbar="show" />;
3 possible values:
show: show toolbar, show a gutter below toolbar. Click the gutter to hide
toolbar.hide: hide toolbar, show a gutter on top. Click the gutter to show toolbar.none: no toolbar, no gutter.Default value: show.
Display editor, preview or both.
<MarkPlus mode="both" />;
3 possible values:
both: show both editor and preview
editor: show editor onlypreview: show preview only
Default value: both.
Overall theme: light, dark or auto:
<MarkPlus theme="auto" />;
3 possible values:
light: light themedark: dark themeauto: same as system themeDefault value: auto.
You may configure the toolbar freely.
<MarkPlus toolbarItems={["about", "|", "bold", "italic"]} />;
A toolbar item could be either a string or a ReactElement. For toolbar items
included with library, you may just specify a string. For your own custom
toolbar items, please specify a ReactElement.
'about'
'|'
'bold'
'italic'
'strikethrough'
'underline'
'mark'
'emoji'
'fontawesome'
'quote'
'unordered-list'
'ordered-list'
'unchecked-list'
'checked-list'
'link'
'image'
'code'
'table'
'math'
flowchart
import { defaultToolbarItems } from "react-markplus";
Its value is:
[
"about",
"|",
"bold",
"italic",
"strikethrough",
"underline",
"mark",
"|",
"emoji",
"fontawesome",
"|",
"quote",
"unordered-list",
"ordered-list",
"unchecked-list",
"checked-list",
"|",
"link",
"image",
"code",
"table",
"|",
"math",
"flowchart",
];
You may add or remote items from it to customize your own toolbar.
Here is a sample to create and insert a custom toolbar item:
<MarkPlus
toolbarItems={[
"about",
"|",
<i
key="preferences"
title="Preferences"
className="fa fa-cog"
onClick={() => {
console.log("Todo: display a preferences modal");
}}
>
</i>,
]}
/>;
Custom toolbar item will freeze in React 19 dev mode.
It works in production mode though. It also works with React 18.
130 followers · starred Feb 2016
58 followers · starred Jul 2018
662 followers · starred Aug 2016
53 followers · starred Mar 2015
A React markdown editor and previewer.
See the codeA React markdown editor and previewer.
yarn add react-markplus
import MarkPlus from "react-markplus";
<MarkPlus markdown="# Hello world!" />;
You will need to import the following CSS:
Initial markdown text to load into the editor.
<MarkPlus markdown="# Hello world!" />;
Default value is ''.
A callback function to be invoked automatically when markdown text changes.
<MarkPlus
onChange={(markdown) => {
console.log("markdown text changed to:", markdown);
}}
/>;
Default value is () => {}.
A callback function to be invoked automatidally when preview html changes.
This has been removed from the library. Because you are supposed to generate preview using markplus-engine.
Show, hide or remove toolbar.
<MarkPlus toolbar="show" />;
3 possible values:
show: show toolbar, show a gutter below toolbar. Click the gutter to hide
toolbar.hide: hide toolbar, show a gutter on top. Click the gutter to show toolbar.none: no toolbar, no gutter.Default value: show.
Display editor, preview or both.
<MarkPlus mode="both" />;
3 possible values:
both: show both editor and preview
editor: show editor onlypreview: show preview only
Default value: both.
Overall theme: light, dark or auto:
<MarkPlus theme="auto" />;
3 possible values:
light: light themedark: dark themeauto: same as system themeDefault value: auto.
You may configure the toolbar freely.
<MarkPlus toolbarItems={["about", "|", "bold", "italic"]} />;
A toolbar item could be either a string or a ReactElement. For toolbar items
included with library, you may just specify a string. For your own custom
toolbar items, please specify a ReactElement.
'about'
'|'
'bold'
'italic'
'strikethrough'
'underline'
'mark'
'emoji'
'fontawesome'
'quote'
'unordered-list'
'ordered-list'
'unchecked-list'
'checked-list'
'link'
'image'
'code'
'table'
'math'
flowchart
import { defaultToolbarItems } from "react-markplus";
Its value is:
[
"about",
"|",
"bold",
"italic",
"strikethrough",
"underline",
"mark",
"|",
"emoji",
"fontawesome",
"|",
"quote",
"unordered-list",
"ordered-list",
"unchecked-list",
"checked-list",
"|",
"link",
"image",
"code",
"table",
"|",
"math",
"flowchart",
];
You may add or remote items from it to customize your own toolbar.
Here is a sample to create and insert a custom toolbar item:
<MarkPlus
toolbarItems={[
"about",
"|",
<i
key="preferences"
title="Preferences"
className="fa fa-cog"
onClick={() => {
console.log("Todo: display a preferences modal");
}}
>
</i>,
]}
/>;
Custom toolbar item will freeze in React 19 dev mode.
It works in production mode though. It also works with React 18.
130 followers · starred Feb 2016
58 followers · starred Jul 2018
662 followers · starred Aug 2016
53 followers · starred Mar 2015