diff options
author | Michael Muré <batolettre@gmail.com> | 2019-05-23 02:26:03 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-05-23 02:26:03 +0200 |
commit | f20708ad36f9953dc76c21116de712850948b1ed (patch) | |
tree | 1ff27a74146d6395cd125c9ab2d0adce932b5b97 /webui/src | |
parent | 8c263465fbd956f2964bb7cd911b5ea5e8d5a50e (diff) | |
parent | 356d1b412c2671d0e430339f42a0d479e11347fd (diff) | |
download | git-bug-f20708ad36f9953dc76c21116de712850948b1ed.tar.gz git-bug-f20708ad36f9953dc76c21116de712850948b1ed.zip |
Merge pull request #150 from MichaelMure/sandhose/webui/markdown
webui: Render markdown in messages
Diffstat (limited to 'webui/src')
-rw-r--r-- | webui/src/Content.js | 15 | ||||
-rw-r--r-- | webui/src/bug/Message.js | 8 |
2 files changed, 20 insertions, 3 deletions
diff --git a/webui/src/Content.js b/webui/src/Content.js new file mode 100644 index 00000000..19f57631 --- /dev/null +++ b/webui/src/Content.js @@ -0,0 +1,15 @@ +import unified from 'unified'; +import parse from 'remark-parse'; +import html from 'remark-html'; +import remark2react from 'remark-react'; + +const Content = ({ markdown }) => { + const processor = unified() + .use(parse) + .use(html) + .use(remark2react); + + return processor.processSync(markdown).contents; +}; + +export default Content; diff --git a/webui/src/bug/Message.js b/webui/src/bug/Message.js index 8a6cac09..64498135 100644 --- a/webui/src/bug/Message.js +++ b/webui/src/bug/Message.js @@ -5,6 +5,7 @@ import React from 'react'; import Author from '../Author'; import { Avatar } from '../Author'; import Date from '../Date'; +import Content from '../Content'; const useStyles = makeStyles(theme => ({ author: { @@ -41,8 +42,7 @@ const useStyles = makeStyles(theme => ({ }, body: { ...theme.typography.body1, - padding: '1rem', - whiteSpace: 'pre-wrap', + padding: '0 1rem', }, })); @@ -60,7 +60,9 @@ function Message({ op }) { </div> {op.edited && <div className={classes.tag}>Edited</div>} </header> - <section className={classes.body}>{op.message}</section> + <section className={classes.body}> + <Content markdown={op.message} /> + </section> </Paper> </article> ); |