mirror of
https://github.com/facebook/docusaurus.git
synced 2025-05-21 04:57:05 +02:00
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:
parent
c9243e8922
commit
13a21b2374
36 changed files with 520 additions and 327 deletions
|
@ -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;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue