diff options
Diffstat (limited to 'frontend/src')
| -rw-r--r-- | frontend/src/components/NewPaste.js | 8 | ||||
| -rw-r--r-- | frontend/src/components/renderers/Markdown.js | 14 |
2 files changed, 22 insertions, 0 deletions
diff --git a/frontend/src/components/NewPaste.js b/frontend/src/components/NewPaste.js index f332be0..adb5240 100644 --- a/frontend/src/components/NewPaste.js +++ b/frontend/src/components/NewPaste.js @@ -8,6 +8,7 @@ import { LANGS } from './renderers/Code' import styled from 'styled-components' import CodeRenderer from './renderers/Code' import Latex from './renderers/Latex' +import Markdown from './renderers/Markdown' const Button = styled.button` margin-right: 0 !important; @@ -126,6 +127,13 @@ class NewPaste extends React.Component { content={this.state.content} /> </LatexWrapper> break + case 'markdown': + preview = + <LatexWrapper> + <Markdown + content={this.state.content} /> + </LatexWrapper> + break default: preview = <CodeRenderer diff --git a/frontend/src/components/renderers/Markdown.js b/frontend/src/components/renderers/Markdown.js new file mode 100644 index 0000000..cbc8dad --- /dev/null +++ b/frontend/src/components/renderers/Markdown.js @@ -0,0 +1,14 @@ +import React from 'react'; +import marked from 'marked'; + +const getHtml = (markdown) => { + const rawMarkup = marked(markdown, {sanitize: true}) + return {__html: rawMarkup} +} + +const Markdown = (props) => { + const dangerousHtml = getHtml(props.content) + return <div dangerouslySetInnerHTML={dangerousHtml} />; +} + +export default Markdown
\ No newline at end of file |