feat(v2): rewrite docs loading strategy (#1092)

* feat(v2): rewrite docs loading strategy

* Prettify

* Lint

* Allow resolving from library root

* minor changes, refactor

* copyright header
This commit is contained in:
Yangshun Tay 2018-11-07 00:39:47 -08:00 committed by Endilie Yacop Sucipto
parent c9243e8922
commit 13a21b2374
36 changed files with 520 additions and 327 deletions

View file

@ -5,74 +5,41 @@
* LICENSE file in the root directory of this source tree.
*/
/* eslint-disable */
import React from 'react';
import {Link} from 'react-router-dom';
import Helmet from 'react-helmet';
import React, {useContext} from 'react';
import {renderRoutes} from 'react-router-config';
import Head from '@docusaurus/head';
import DocsPaginator from '@theme/DocsPaginator'; // eslint-disable-line
import Footer from '@theme/Footer'; // eslint-disable-line
import Navbar from '@theme/Navbar'; // eslint-disable-line
import Sidebar from '@theme/Sidebar'; // eslint-disable-line
import DocusaurusContext from '@docusaurus/context';
import styles from './styles.module.css';
class Doc extends React.Component {
render() {
const {
docsMetadatas,
docsSidebars,
env,
location,
metadata,
pagesMetadatas,
siteConfig = {},
route,
} = this.props;
const {language, version} = metadata;
const {baseUrl, favicon} = siteConfig;
return (
<div>
<Helmet>
<title>{(metadata && metadata.title) || siteConfig.title}</title>
{favicon && <link rel="shortcut icon" href={baseUrl + favicon} />}
{language && <html lang={language} />}
{language && <meta name="docsearch:language" content={language} />}
{version && <meta name="docsearch:version" content={version} />}
</Helmet>
<Navbar
docsMetadatas={docsMetadatas}
env={env}
metadata={metadata}
siteConfig={siteConfig}
/>
<Sidebar
docsMetadatas={docsMetadatas}
docsSidebars={docsSidebars}
metadata={metadata}
/>
<div className={styles.mainContainer}>
<div className={styles.docContainer}>
<div className={styles.docContent}>
<h1>{metadata.title}</h1>
{this.props.children}
</div>
<div className={styles.paginatorContainer}>
<DocsPaginator
docsMetadatas={docsMetadatas}
metadata={metadata}
/>
</div>
</div>
<Footer
docsMetadatas={docsMetadatas}
location={location}
pagesMetadatas={pagesMetadatas}
/>
</div>
function Doc(props) {
const {metadata = {}, siteConfig = {}} = useContext(DocusaurusContext);
const {route} = props;
const {language, version} = metadata;
const {baseUrl, favicon} = siteConfig;
return (
<div>
<Head>
<title>{(metadata && metadata.title) || siteConfig.title}</title>
{favicon && <link rel="shortcut icon" href={baseUrl + favicon} />}
{language && <html lang={language} />}
{language && <meta name="docsearch:language" content={language} />}
{version && <meta name="docsearch:version" content={version} />}
</Head>
<Navbar />
<Sidebar />
<div className={styles.mainContainer}>
<div className={styles.docContainer}>{renderRoutes(route.routes)}</div>
<Footer />
</div>
);
}
</div>
);
}
export default Doc;