/**
* Copyright (c) 2017-present, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*/
const Marked = require("./Marked.js");
const React = require("react");
class BlogPost extends React.Component {
renderContent() {
let content = this.props.content;
if (this.props.truncate) {
content = content.split("")[0];
return (
{content}
);
}
return (
{content}
);
}
renderAuthorPhoto() {
const post = this.props.post;
if (post.authorFBID) {
return (
);
} else {
return null;
}
}
renderTitle() {
const post = this.props.post;
return (
);
}
renderPostHeader() {
const post = this.props.post;
const match = post.path.match(/([0-9]+)\/([0-9]+)\/([0-9]+)/);
// Because JavaScript sucks at date handling :(
const year = match[1];
const month = [
"January",
"February",
"March",
"April",
"May",
"June",
"July",
"August",
"September",
"October",
"November",
"December"
][parseInt(match[2], 10) - 1];
const day = parseInt(match[3], 10);
return (
{this.renderAuthorPhoto()}
{post.author}
{this.renderTitle()}
{month} {day}, {year}
);
}
render() {
return (
{this.renderPostHeader()}
{this.renderContent()}
);
}
}
module.exports = BlogPost;