From 36e783ff67c0501ff62fcb6dd968656cf1f3a056 Mon Sep 17 00:00:00 2001 From: Sam Date: Fri, 6 Mar 2020 15:24:20 -0500 Subject: [PATCH 01/10] feat(v2): Support syncing tab choices --- .../src/theme/Layout/index.js | 59 +++++----- .../src/theme/TabGroupChoiceContext.js | 15 +++ .../src/theme/TabGroupChoiceProvider/index.js | 24 ++++ .../src/theme/Tabs/index.js | 26 ++++- .../src/theme/hooks/useTabGroupChoice.js | 44 +++++++ .../theme/hooks/useTabGroupChoiceContext.js | 16 +++ .../markdown-features.mdx | 110 +++++++++++++++++- 7 files changed, 264 insertions(+), 30 deletions(-) create mode 100644 packages/docusaurus-theme-classic/src/theme/TabGroupChoiceContext.js create mode 100644 packages/docusaurus-theme-classic/src/theme/TabGroupChoiceProvider/index.js create mode 100644 packages/docusaurus-theme-classic/src/theme/hooks/useTabGroupChoice.js create mode 100644 packages/docusaurus-theme-classic/src/theme/hooks/useTabGroupChoiceContext.js diff --git a/packages/docusaurus-theme-classic/src/theme/Layout/index.js b/packages/docusaurus-theme-classic/src/theme/Layout/index.js index c001ed136837..571a10db98b7 100644 --- a/packages/docusaurus-theme-classic/src/theme/Layout/index.js +++ b/packages/docusaurus-theme-classic/src/theme/Layout/index.js @@ -11,6 +11,7 @@ import useDocusaurusContext from '@docusaurus/useDocusaurusContext'; import useBaseUrl from '@docusaurus/useBaseUrl'; import ThemeProvider from '@theme/ThemeProvider'; +import TabGroupChoiceProvider from '@theme/TabGroupChoiceProvider'; import Navbar from '@theme/Navbar'; import Footer from '@theme/Footer'; @@ -41,33 +42,39 @@ function Layout(props) { return ( - - {/* TODO: Do not assume that it is in english language */} - + + + {/* TODO: Do not assume that it is in english language */} + - - {metaTitle && {metaTitle}} - {metaTitle && } - {favicon && } - {description && } - {description && ( - - )} - {version && } - {keywords && keywords.length && ( - - )} - {metaImage && } - {metaImage && } - {metaImage && ( - - )} - {permalink && } - - - -
{children}
- {!noFooter &&