aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJacky Zhao <[email protected]>2020-09-04 12:29:27 -0700
committerGitHub <[email protected]>2020-09-04 12:29:27 -0700
commit8a813d9e817035d52a782edca8efb45ad8a6ca75 (patch)
treefbe132b266090d34e24abc025529901c8c8283b8
parentMerge pull request #56 from jackyzha0/patch (diff)
parentadd null coalescing op (diff)
downloadctrl-v-8a813d9e817035d52a782edca8efb45ad8a6ca75.tar.xz
ctrl-v-8a813d9e817035d52a782edca8efb45ad8a6ca75.zip
Merge pull request #58 from jackyzha0/patch
-rw-r--r--frontend/src/components/renderers/InlineCode.js17
-rw-r--r--frontend/src/components/renderers/Markdown.js9
-rw-r--r--frontend/src/css/index.css1
3 files changed, 25 insertions, 2 deletions
diff --git a/frontend/src/components/renderers/InlineCode.js b/frontend/src/components/renderers/InlineCode.js
new file mode 100644
index 0000000..44a3f58
--- /dev/null
+++ b/frontend/src/components/renderers/InlineCode.js
@@ -0,0 +1,17 @@
+import React from 'react';
+import SyntaxHighlighter from 'react-syntax-highlighter';
+import { atomOneDark } from 'react-syntax-highlighter/dist/esm/styles/hljs';
+import { LANGS } from './Code'
+
+const MarkdownCodeRenderer = ({language, value}) => {
+
+ return (
+ <SyntaxHighlighter
+ language={(language in LANGS) ? LANGS[language] : 'text'}
+ style={atomOneDark}>
+ {value ?? ''}
+ </SyntaxHighlighter>
+ );
+};
+
+export default MarkdownCodeRenderer; \ No newline at end of file
diff --git a/frontend/src/components/renderers/Markdown.js b/frontend/src/components/renderers/Markdown.js
index b9b9112..16f5e37 100644
--- a/frontend/src/components/renderers/Markdown.js
+++ b/frontend/src/components/renderers/Markdown.js
@@ -1,6 +1,7 @@
import React from 'react';
import ReactMarkdown from 'react-markdown';
import styled from 'styled-components'
+import MarkdownCodeRenderer from './InlineCode'
const Content = styled.div`
max-width: 100%;
@@ -11,7 +12,13 @@ const Content = styled.div`
`
const Markdown = ({content}) => {
return <Content>
- <ReactMarkdown source={content} />
+ <ReactMarkdown
+ source={content}
+ linkTarget='_blank'
+ renderers={{
+ code: MarkdownCodeRenderer,
+ }}
+ />
</Content>;
}
diff --git a/frontend/src/css/index.css b/frontend/src/css/index.css
index a6e8e9c..fcda1a3 100644
--- a/frontend/src/css/index.css
+++ b/frontend/src/css/index.css
@@ -167,7 +167,6 @@ button[type=button] {
.md code {
background: #00000008;
font-size: 0.8em;
- padding: 0.2em 0.5em;
}
.md pre {