docusaurus/lib/core/BlogPostLayout.js

59 lines
1.8 KiB
JavaScript
Raw Normal View History

2017-07-07 13:28:29 -04:00
/**
* 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.
*/
2017-07-10 19:38:35 -04:00
const React = require("react");
const BlogPost = require("./BlogPost.js");
const BlogSidebar = require("./BlogSidebar.js");
const Container = require("./Container.js");
const Site = require("./Site.js");
2017-07-07 13:28:29 -04:00
2017-08-15 19:55:38 -04:00
// used for entire blog posts, i.e., each written blog article with sidebar with site header/footer
2017-07-07 13:28:29 -04:00
class BlogPostLayout extends React.Component {
render() {
return (
<Site
className="sideNavVisible"
2017-07-10 19:38:35 -04:00
url={"blog/" + this.props.metadata.path}
2017-07-07 13:28:29 -04:00
title={this.props.metadata.title}
2017-07-10 19:38:35 -04:00
language={"en"}
description={this.props.children.trim().split("\n")[0]}
2017-07-07 13:28:29 -04:00
config={this.props.config}
>
<div className="docMainWrapper wrapper">
2017-07-10 19:38:35 -04:00
<BlogSidebar
language={"en"}
current={this.props.metadata}
config={this.props.config}
/>
2017-07-07 13:28:29 -04:00
<Container className="mainContainer documentContainer postContainer blogContainer">
<div className="lonePost">
<BlogPost
post={this.props.metadata}
content={this.props.children}
2017-07-10 19:38:35 -04:00
language={"en"}
2017-07-07 13:28:29 -04:00
config={this.props.config}
/>
</div>
2017-07-17 19:18:14 -04:00
<div className="blog-recent">
<a
2017-07-17 19:18:14 -04:00
className="button"
href={this.props.config.baseUrl + "blog"}
>
Recent Posts
</a>
</div>
2017-07-07 13:28:29 -04:00
</Container>
</div>
</Site>
);
}
}
module.exports = BlogPostLayout;