/** * 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}
Read More
); } return {content}; } renderAuthorPhoto() { const post = this.props.post; if (post.authorFBID) { return (
); } else { return null; } } renderTitle() { const post = this.props.post; return (

{post.title}

); } 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;