From f3c99d878012f7ff124957c249fa0fc9feaa2c1a Mon Sep 17 00:00:00 2001 From: hjm <63528605@qq.com> Date: Fri, 21 Jun 2019 09:50:16 +0800 Subject: [PATCH] MarkdownToHtml --- public/react/src/common/TextUtil.js | 5 ++- .../components/markdown/MarkdownToHtml.js | 45 ++++++------------- .../src/modules/courses/boards/TopicDetail.js | 32 ++++--------- 3 files changed, 27 insertions(+), 55 deletions(-) diff --git a/public/react/src/common/TextUtil.js b/public/react/src/common/TextUtil.js index 4a3145c19..d39ebb32a 100644 --- a/public/react/src/common/TextUtil.js +++ b/public/react/src/common/TextUtil.js @@ -1,5 +1,5 @@ import { bytesToSize } from 'educoder'; -export function markdownToHTML(oldContent) { +export function markdownToHTML(oldContent, selector) { window.$('#md_div').html('') // markdown to html var markdwonParser = window.editormd.markdownToHTML("md_div", { @@ -12,6 +12,9 @@ export function markdownToHTML(oldContent) { sequenceDiagram: true // 默认不解析 }); const content = window.$('#md_div').html() + if (selector) { + window.$(selector).html(content) + } return content } diff --git a/public/react/src/common/components/markdown/MarkdownToHtml.js b/public/react/src/common/components/markdown/MarkdownToHtml.js index 86e94c62e..266f831ee 100644 --- a/public/react/src/common/components/markdown/MarkdownToHtml.js +++ b/public/react/src/common/components/markdown/MarkdownToHtml.js @@ -6,40 +6,23 @@ class MarkdownToHtml extends Component{ this.state={ } } - // componentDidUpdate = (prevProps) => { - // if (this.props.content) { - // if ( prevProps.content != this.props.content ) { - // if (!this.shixunDescr) { - // this.shixunDescr = window.editormd.markdownToHTML("memo_content_editorMd", { - // markdown: this.props.content, - // htmlDecode: "style,script,iframe", // you can filter tags decode - // taskList: true, - // tex: true, // 默认不解析 - // flowChart: true, // 默认不解析 - // sequenceDiagram: true // 默认不解析 - // }); - // } else { - // this.shixunDescr.html(this.props.content) - // } - // } - // } - // } - // componentDidMount () { - // if (!this.shixunDescr) { - // this.shixunDescr = window.editormd.markdownToHTML("memo_content_editorMd", { - // markdown: this.props.content, - // htmlDecode: "style,script,iframe", // you can filter tags decode - // taskList: true, - // tex: true, // 默认不解析 - // flowChart: true, // 默认不解析 - // sequenceDiagram: true // 默认不解析 - // }); - // } - // } + componentDidUpdate = (prevProps) => { + if (this.props.content) { + if ( prevProps.content != this.props.content ) { + markdownToHTML(this.props.content, `.markdown_to_html_${this.props.selector || ''}`) + } + } + } + componentDidMount () { + this.props.content && markdownToHTML(this.props.content, `.markdown_to_html_${this.props.selector || ''}`) + + } render(){ return( -