aboutsummaryrefslogtreecommitdiff
path: root/frontend/src/components
diff options
context:
space:
mode:
authorIan Mah <[email protected]>2020-05-28 17:54:48 -0700
committerIan Mah <[email protected]>2020-05-28 17:54:48 -0700
commit59a3af0ac9e90396123e6a40c154962cc80ddb6a (patch)
tree1b9f7bf94cc0e75594ed6885fbdaf94d7d8d876b /frontend/src/components
parentMerge pull request #42 from jackyzha0/analytics (diff)
downloadctrl-v-59a3af0ac9e90396123e6a40c154962cc80ddb6a.tar.xz
ctrl-v-59a3af0ac9e90396123e6a40c154962cc80ddb6a.zip
Add markdown preview
Diffstat (limited to 'frontend/src/components')
-rw-r--r--frontend/src/components/NewPaste.js8
-rw-r--r--frontend/src/components/renderers/Markdown.js14
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