mirror of
https://github.com/facebook/docusaurus.git
synced 2025-06-22 12:37:58 +02:00
feat(v2): create useDocusaurusContext (#1418)
This commit is contained in:
parent
688aa4b5c5
commit
cb7dc93a53
7 changed files with 45 additions and 23 deletions
|
@ -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;
|
|
@ -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 {
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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 (
|
||||
|
|
|
@ -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(
|
||||
{},
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue