docusaurus/packages/docusaurus-1.x/lib/core/BlogSidebar.js
Shawn Tabrizi b1023aa9ac fix: remove the Container component from the docsNavContainer (#1599)
In this case, the `docsNavContainer` does not pick up any styles or attributes from the `container` component it is wrapped in.

It does however pick up the pesky `.container` className, which when paired with bootstrap, messes up the styling of the top navigation in mobile.

This change is completely non-destructive, but helps enable the use of bootstrap on top of Docusaurus.
2019-06-13 09:05:41 -07:00

57 lines
1.5 KiB
JavaScript

/**
* Copyright (c) 2017-present, Facebook, Inc.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
const React = require('react');
const SideNav = require('./nav/SideNav.js');
const MetadataBlog = require('./MetadataBlog.js');
class BlogSidebar extends React.Component {
render() {
let blogSidebarCount = 5;
const blogSidebarTitleConfig = this.props.config.blogSidebarTitle || {};
let blogSidebarTitle = blogSidebarTitleConfig.default || 'Recent Posts';
if (this.props.config.blogSidebarCount) {
if (this.props.config.blogSidebarCount === 'ALL') {
blogSidebarCount = MetadataBlog.length;
blogSidebarTitle = blogSidebarTitleConfig.all || 'All Blog Posts';
} else {
blogSidebarCount = this.props.config.blogSidebarCount;
}
}
const contents = [
{
type: 'CATEGORY',
title: blogSidebarTitle,
children: MetadataBlog.slice(0, blogSidebarCount).map(item => ({
type: 'LINK',
item,
})),
},
];
const title = this.props.current && this.props.current.title;
const current = {
id: title || '',
category: blogSidebarTitle,
};
return (
<div className="docsNavContainer" id="docsNav">
<SideNav
language={this.props.language}
root={`${this.props.config.baseUrl}blog/`}
title="Blog"
contents={contents}
current={current}
/>
</div>
);
}
}
module.exports = BlogSidebar;