react-color
Version:
A Collection of Color Pickers from Sketch, Photoshop, Chrome & more
56 lines (45 loc) • 1.38 kB
JSX
;
var React = require('react');
var ReactCSS = require('reactcss');
var markdown = require('../helpers/markdown');
var Code = require('./Code');
module.exports = class Markdown extends ReactCSS.Component {
classes() {
return {
'default': {
markdown: {
fontSize: '17px',
lineHeight: '24px',
color: 'rgba(0,0,0,.47)',
},
},
};
}
shouldComponentUpdate() {
return false;
}
render() {
var children = this.props.children;
var newLines = children;
var codes = [];
for (var i = 0; i < markdown.isCode(children).length; i++) {
var codeBlock = markdown.isCode(children)[i];
newLines = newLines.replace(codeBlock[1], '|Code:' + i + '|');
codes[i] = <Code file={ codeBlock[2] } condensed={ this.props.condensed } borders />;
}
var markdownFile = [];
for (var i = 0; i < newLines.split('\n').length; i++) {
var line = newLines.split('\n')[i];
if (markdown.isCodeBlock(line)) {
markdownFile.push(<div key={ i }>{ codes[ markdown.codeNumber(line) ] }</div>);
} else {
markdownFile.push(<div key={ i } is="markdown" className="markdown text" dangerouslySetInnerHTML={ {__html: markdown.render(line)} } />);
}
}
return (
<div is="markdown">
{ markdownFile }
</div>
);
}
};