feat(v2): create useDocusaurusContext (#1418)

This commit is contained in:
Yangshun Tay 2019-04-29 23:06:25 -07:00 committed by GitHub
parent 688aa4b5c5
commit cb7dc93a53
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 45 additions and 23 deletions

View file

@ -0,0 +1,15 @@
/**
* 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.
*/
import {useContext} from 'react';
import DocusaurusContext from '@docusaurus/context';
function useDocusaurusContext() {
return useContext(DocusaurusContext);
}
export default useDocusaurusContext;

View file

@ -5,15 +5,17 @@
* LICENSE file in the root directory of this source tree.
*/
import React, {useContext} from 'react';
import React from 'react';
import Head from '@docusaurus/Head';
import useDocusaurusContext from '@docusaurus/useDocusaurusContext'; // eslint-disable-line
import Footer from '@theme/Footer'; // eslint-disable-line
import Layout from '@theme/Layout'; // eslint-disable-line
import DocusaurusContext from '@docusaurus/context';
import Post from '../Post';
function BlogPage(props) {
const context = useContext(DocusaurusContext);
const context = useDocusaurusContext();
const {language, siteConfig = {}} = context;
const {baseUrl, favicon} = siteConfig;
const {

View file

@ -5,18 +5,21 @@
* LICENSE file in the root directory of this source tree.
*/
import React, {useContext} from 'react';
import React from 'react';
import Head from '@docusaurus/Head';
import useDocusaurusContext from '@docusaurus/useDocusaurusContext'; // eslint-disable-line
import Layout from '@theme/Layout'; // eslint-disable-line
import Footer from '@theme/Footer'; // eslint-disable-line
import DocusaurusContext from '@docusaurus/context';
import Post from '../Post';
function BlogPost(props) {
const {metadata: contextMetadata = {}, siteConfig = {}} = useContext(
DocusaurusContext,
);
const {
metadata: contextMetadata = {},
siteConfig = {},
} = useDocusaurusContext();
const {baseUrl, favicon} = siteConfig;
const {language, title} = contextMetadata;
const {content, metadata} = props;

View file

@ -5,19 +5,19 @@
* LICENSE file in the root directory of this source tree.
*/
import React, {useContext} from 'react';
import React from 'react';
import {renderRoutes} from 'react-router-config';
import Head from '@docusaurus/Head';
import useDocusaurusContext from '@docusaurus/useDocusaurusContext'; // eslint-disable-line
import Layout from '@theme/Layout'; // 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';
function Doc(props) {
const {siteConfig = {}} = useContext(DocusaurusContext);
const {siteConfig = {}} = useDocusaurusContext();
const {route, docsMetadata, location} = props;
const {baseUrl, favicon} = siteConfig;
return (

View file

@ -5,13 +5,13 @@
* LICENSE file in the root directory of this source tree.
*/
import React, {useContext} from 'react';
import Head from '@docusaurus/Head';
import React from 'react';
import DocusaurusContext from '@docusaurus/context';
import Head from '@docusaurus/Head';
import useDocusaurusContext from '@docusaurus/useDocusaurusContext';
function Markdown(props) {
const context = useContext(DocusaurusContext);
const context = useDocusaurusContext();
const {siteConfig} = context;
const highlight = Object.assign(
{},

View file

@ -5,14 +5,15 @@
* LICENSE file in the root directory of this source tree.
*/
import React, {useContext} from 'react';
import React from 'react';
import Link from '@docusaurus/Link';
import useDocusaurusContext from '@docusaurus/useDocusaurusContext';
import Search from '@theme/Search';
import DocusaurusContext from '@docusaurus/context';
function Navbar(props) {
const context = useContext(DocusaurusContext);
const context = useDocusaurusContext();
const {siteConfig = {}, env = {}, metadata = {}} = context;
// TODO: navbar headerlinks should depends on theme, not siteConfig;
const {

View file

@ -5,15 +5,16 @@
* LICENSE file in the root directory of this source tree.
*/
import React, {useContext} from 'react';
import React from 'react';
import Head from '@docusaurus/Head'; // eslint-disable-line
import useDocusaurusContext from '@docusaurus/useDocusaurusContext'; // eslint-disable-line
import Footer from '@theme/Footer'; // eslint-disable-line
import Layout from '@theme/Layout'; // eslint-disable-line
import DocusaurusContext from '@docusaurus/context';
function Pages({content}) {
const context = useContext(DocusaurusContext);
const context = useDocusaurusContext();
const {metadata = {}, siteConfig = {}} = context;
const {baseUrl, favicon} = siteConfig;
const {language} = metadata;