mirror of
https://github.com/mgerb/mywebsite
synced 2026-01-10 09:52:51 +00:00
46 lines
1.0 KiB
JavaScript
46 lines
1.0 KiB
JavaScript
import hljs from 'hljs';
|
|
import marked from 'marked';
|
|
import React from 'react';
|
|
import {Link} from 'react-router';
|
|
|
|
//components
|
|
import Loading from './utils/Loading';
|
|
|
|
import '../../assets/scss/Content.scss';
|
|
|
|
const renderer = new marked.Renderer();
|
|
|
|
marked.setOptions({
|
|
langPrefix: 'hljs ',
|
|
highlight: (code) => {
|
|
return hljs.highlightAuto(code).value;
|
|
}
|
|
});
|
|
|
|
export default class Post extends React.Component {
|
|
|
|
componentDidMount() {
|
|
const params = this.props.params;
|
|
this.props.appActions.fetchPost(params.post, params.category);
|
|
}
|
|
|
|
render() {
|
|
const post = this.props.app.post;
|
|
const fetched = this.props.app.fetched;
|
|
const fetching = this.props.app.fetching;
|
|
|
|
if(!fetched){
|
|
return <Loading/>;
|
|
}
|
|
|
|
return (
|
|
<div class="Content">
|
|
<div>
|
|
<div dangerouslySetInnerHTML={{__html : marked(post, {renderer : renderer})}}/>
|
|
<Link to="/" class="link"><i class="fa fa-caret-left" aria-hidden="true"></i> Home</Link>
|
|
</div>
|
|
</div>
|
|
);
|
|
}
|
|
}
|