A React component for rendering Markdown with remarkable.
npm install --save react-remarkable
var React = require('react');
var Markdown = require('react-remarkable');
var Emoji = require('remarkable-emoji');
var MyComponent = React.createClass({
render() {
return (
<div>
{/* Pass Markdown source to the `source` prop */}
<Markdown source="**Markdown is awesome! :)**" plugins={[Emoji]} />
{/* Or pass it as children */}
{/* You can nest React components, too */}
<Markdown>{`
## Reasons React is great
1. Server-side rendering
2. This totally works:
<SomeOtherAmazingComponent />
Pretty neat!
`}</Markdown>
</div>
);
}
});
Available props:
options
- Hash of Remarkable optionssource
- Markdown source. You can also pass the source as children, which allows you to mix React components and Markdown.container
- Element to use as container. Defaults todiv
.plugins
- Array of remarkable plugins
You can enable syntax highlighting in Atom using the following steps:
Go to Settings > Packages > language-babel Settings > Enter this for JavaScript Tagged Literal Grammar Extensions:
"(?<=<Markdown>{)":source.gfm
Shortly you'll see that markdown syntax highlighting is enabled.
MIT