diff --git a/packages/docusaurus/lib/client/exports/Head.js b/packages/docusaurus/lib/client/exports/Head.js index 6c88246ac7..a658a9b425 100644 --- a/packages/docusaurus/lib/client/exports/Head.js +++ b/packages/docusaurus/lib/client/exports/Head.js @@ -6,7 +6,7 @@ */ import React from 'react'; -import Helmet from 'react-helmet'; +import {Helmet} from 'react-helmet'; function Head(props) { return ; diff --git a/packages/docusaurus/lib/client/serverEntry.js b/packages/docusaurus/lib/client/serverEntry.js index 1bed67b125..8329cf2ddc 100644 --- a/packages/docusaurus/lib/client/serverEntry.js +++ b/packages/docusaurus/lib/client/serverEntry.js @@ -9,7 +9,7 @@ import ejs from 'ejs'; import React from 'react'; import {StaticRouter} from 'react-router-dom'; import ReactDOMServer from 'react-dom/server'; -import Helmet from 'react-helmet'; +import {Helmet} from 'react-helmet'; import {getBundles} from 'react-loadable-ssr-addon'; import Loadable from 'react-loadable'; diff --git a/packages/docusaurus/lib/default-theme/Doc/index.js b/packages/docusaurus/lib/default-theme/Doc/index.js index 4871bfbae1..97cfd364d3 100644 --- a/packages/docusaurus/lib/default-theme/Doc/index.js +++ b/packages/docusaurus/lib/default-theme/Doc/index.js @@ -19,19 +19,14 @@ import DocusaurusContext from '@docusaurus/context'; import styles from './styles.module.css'; function Doc(props) { - const {metadata = {}, siteConfig = {}} = useContext(DocusaurusContext); + const {siteConfig = {}} = useContext(DocusaurusContext); const {route} = props; - const {language, version} = metadata; const {baseUrl, favicon} = siteConfig; - return ( - {(metadata && metadata.title) || siteConfig.title} + {siteConfig.title} {favicon && } - {language && } - {language && } - {version && }
diff --git a/packages/docusaurus/lib/default-theme/DocBody/index.js b/packages/docusaurus/lib/default-theme/DocBody/index.js index 89ee5ae549..ccae3f62b9 100644 --- a/packages/docusaurus/lib/default-theme/DocBody/index.js +++ b/packages/docusaurus/lib/default-theme/DocBody/index.js @@ -9,20 +9,27 @@ import React, {useContext, useEffect} from 'react'; import DocsPaginator from '@theme/DocsPaginator'; // eslint-disable-line import DocusaurusContext from '@docusaurus/context'; +import Head from '@docusaurus/Head'; import styles from './styles.module.css'; function DocBody(props) { const {metadata, modules} = props; + const {language, version} = metadata; const context = useContext(DocusaurusContext); useEffect(() => { context.setContext({metadata}); }, []); const DocContents = modules[0]; - return (
+ + {metadata && metadata.title && {metadata.title}} + {language && } + {language && } + {version && } +
diff --git a/packages/docusaurus/package.json b/packages/docusaurus/package.json index b4ffc6d03a..ac4a63c4d4 100644 --- a/packages/docusaurus/package.json +++ b/packages/docusaurus/package.json @@ -55,7 +55,7 @@ "mini-css-extract-plugin": "^0.4.1", "portfinder": "^1.0.13", "react-dev-utils": "^8.0.0", - "react-helmet": "^5.2.0", + "react-helmet": "^6.0.0-beta", "react-hot-loader": "^4.8.2", "react-listener-provider": "^0.2.0", "react-loadable": "^5.5.0", diff --git a/yarn.lock b/yarn.lock index 257b154c6b..5bf247e9af 100644 --- a/yarn.lock +++ b/yarn.lock @@ -10874,14 +10874,19 @@ react-error-overlay@^5.1.4: resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-5.1.4.tgz#88dfb88857c18ceb3b9f95076f850d7121776991" integrity sha512-fp+U98OMZcnduQ+NSEiQa4s/XMsbp+5KlydmkbESOw4P69iWZ68ZMFM5a2BuE0FgqPBKApJyRuYHR95jM8lAmg== -react-helmet@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/react-helmet/-/react-helmet-5.2.0.tgz#a81811df21313a6d55c5f058c4aeba5d6f3d97a7" - integrity sha1-qBgR3yExOm1VxfBYxK66XW89l6c= +react-fast-compare@^2.0.2: + version "2.0.4" + resolved "https://registry.yarnpkg.com/react-fast-compare/-/react-fast-compare-2.0.4.tgz#e84b4d455b0fec113e0402c329352715196f81f9" + integrity sha512-suNP+J1VU1MWFKcyt7RtjiSWUjvidmQSlqu+eHslq+342xCbGTYmC0mEhPCOHxlW0CywylOC1u2DFAT+bv4dBw== + +react-helmet@^6.0.0-beta: + version "6.0.0-beta" + resolved "https://registry.yarnpkg.com/react-helmet/-/react-helmet-6.0.0-beta.tgz#1f2ac04521951486e4fce3296d0c88aae8cabd5c" + integrity sha512-GnNWsokebTe7fe8MH2I/a2dl4THYWhthLBoMaQSRYqW5XbPo881WAJGi+lqRBjyOFryW6zpQluEkBy70zh+h9w== dependencies: - deep-equal "^1.0.1" object-assign "^4.1.1" prop-types "^15.5.4" + react-fast-compare "^2.0.2" react-side-effect "^1.1.0" react-hot-loader@^4.8.2: