diff --git a/src/components/content.js b/src/components/content.js index 1e78d95..1e5226f 100644 --- a/src/components/content.js +++ b/src/components/content.js @@ -3,7 +3,6 @@ import Section from './section'; import PureRenderMixin from 'react-pure-render/mixin'; import GithubSlugger from 'github-slugger'; import { transformURL } from '../../custom'; -import remark from 'remark'; let slugger = new GithubSlugger(); let slug = title => { slugger.reset(); return slugger.slug(title); }; @@ -77,13 +76,11 @@ var Content = React.createClass({ }, render() { let { ast, language, leftClassname, rightClassname } = this.props; - let parser = remark(); return (
{chunkifyAST(ast, language).map((chunk, i) =>
)}
); } diff --git a/src/components/section.js b/src/components/section.js index f19f895..28c22b8 100644 --- a/src/components/section.js +++ b/src/components/section.js @@ -1,14 +1,15 @@ import React from 'react'; +import remark from 'remark'; import remarkHTML from 'remark-html'; import remarkHighlight from '../highlight'; import PureRenderMixin from 'react-pure-render/mixin'; import { postHighlight } from '../../custom'; -function renderHighlighted(nodes, parser) { +function renderHighlighted(nodes) { return { - __html: postHighlight(parser + __html: postHighlight(remark() .use(remarkHTML) - .stringify(parser.use(remarkHighlight).run({ + .stringify(remark().use(remarkHighlight).run({ type: 'root', children: nodes }))) @@ -20,8 +21,7 @@ var Section = React.createClass({ propTypes: { chunk: React.PropTypes.object.isRequired, leftClassname: React.PropTypes.string.isRequired, - rightClassname: React.PropTypes.string.isRequired, - parser: React.PropTypes.object.isRequired + rightClassname: React.PropTypes.string.isRequired }, render() { let { chunk, leftClassname, rightClassname } = this.props; @@ -31,10 +31,10 @@ var Section = React.createClass({ className={`keyline-top section contain clearfix ${preview ? 'preview' : ''}`}>
+ dangerouslySetInnerHTML={renderHighlighted(left)} /> {right.length > 0 &&
} + dangerouslySetInnerHTML={renderHighlighted(right)} />}
); } });