docusaurus/packages/docusaurus-1.x/lib/core/DocsSidebar.js

55 lines
1.3 KiB
JavaScript
Raw Normal View History

2017-07-07 13:28:29 -04:00
/**
* 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.
2017-07-07 13:28:29 -04:00
*/
const React = require('react');
const fs = require('fs');
const SideNav = require('./nav/SideNav.js');
const Metadata = require('../core/metadata.js');
const readCategories = require('../server/readCategories.js');
2017-07-07 13:28:29 -04:00
let languages;
const CWD = process.cwd();
if (fs.existsSync(`${CWD}/languages.js`)) {
languages = require(`${CWD}/languages.js`);
} else {
languages = [
{
enabled: true,
name: 'English',
tag: 'en',
},
];
}
2017-07-07 13:28:29 -04:00
class DocsSidebar extends React.Component {
render() {
const {category, sidebar} = this.props.metadata;
const docsCategories = readCategories(sidebar, Metadata, languages);
if (!category) {
return null;
}
2017-07-07 13:28:29 -04:00
return (
<div className="docsNavContainer" id="docsNav">
2017-07-07 13:28:29 -04:00
<SideNav
collapsible={this.props.collapsible}
2017-07-07 13:28:29 -04:00
language={this.props.metadata.language}
root={this.props.root}
title={this.props.title}
contents={docsCategories[this.props.metadata.language]}
current={this.props.metadata}
/>
</div>
2017-07-07 13:28:29 -04:00
);
}
}
module.exports = DocsSidebar;