@docusaurus/theme-classic 2.0.0-beta.8bda3b2db → 2.0.0-beta.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/codeTranslations/ar.json +12 -7
- package/codeTranslations/base.json +17 -7
- package/codeTranslations/bn.json +11 -5
- package/codeTranslations/cs.json +62 -0
- package/codeTranslations/da.json +8 -3
- package/codeTranslations/de.json +8 -3
- package/codeTranslations/es.json +15 -10
- package/codeTranslations/fa.json +31 -26
- package/codeTranslations/fil.json +8 -3
- package/codeTranslations/fr.json +8 -3
- package/codeTranslations/he.json +9 -4
- package/codeTranslations/hi.json +9 -4
- package/codeTranslations/ja.json +8 -3
- package/codeTranslations/ko.json +8 -3
- package/codeTranslations/pl.json +8 -3
- package/codeTranslations/pt-BR.json +16 -11
- package/codeTranslations/pt-PT.json +8 -3
- package/codeTranslations/ru.json +10 -5
- package/codeTranslations/sr.json +62 -0
- package/codeTranslations/tr.json +9 -4
- package/codeTranslations/vi.json +10 -5
- package/codeTranslations/zh-Hans.json +9 -4
- package/codeTranslations/zh-Hant.json +9 -4
- package/lib/__tests__/validateThemeConfig.test.js +277 -3
- package/lib/admonitions.css +35 -0
- package/lib/index.js +31 -8
- package/lib/prism-include-languages.js +9 -5
- package/lib/theme/AnnouncementBar/index.js +10 -16
- package/lib/theme/AnnouncementBar/styles.module.css +25 -30
- package/lib/theme/BackToTopButton/index.js +140 -0
- package/lib/theme/BackToTopButton/styles.module.css +42 -0
- package/lib/theme/BlogArchivePage/index.js +89 -0
- package/lib/theme/BlogLayout/index.js +51 -0
- package/lib/theme/BlogListPage/index.js +10 -21
- package/lib/theme/BlogPostAuthor/index.js +51 -0
- package/lib/theme/BlogPostAuthor/styles.module.css +12 -0
- package/lib/theme/BlogPostAuthors/index.js +47 -0
- package/lib/theme/BlogPostAuthors/styles.module.css +11 -0
- package/lib/theme/BlogPostItem/index.js +58 -67
- package/lib/theme/BlogPostPage/index.js +37 -24
- package/lib/theme/BlogSidebar/styles.module.css +2 -2
- package/lib/theme/BlogTagsListPage/index.js +8 -44
- package/lib/theme/BlogTagsPostsPage/index.js +24 -38
- package/lib/theme/CodeBlock/index.js +45 -41
- package/lib/theme/CodeBlock/styles.module.css +6 -9
- package/lib/theme/Details/index.js +30 -0
- package/lib/theme/Details/styles.module.css +13 -0
- package/lib/theme/DocItem/index.js +29 -45
- package/lib/theme/DocItem/styles.module.css +5 -9
- package/lib/theme/DocItemFooter/index.js +79 -0
- package/lib/theme/DocItemFooter/styles.module.css +18 -0
- package/lib/theme/DocPage/index.js +25 -49
- package/lib/theme/DocPage/styles.module.css +8 -23
- package/lib/theme/DocSidebar/index.js +45 -227
- package/lib/theme/DocSidebar/styles.module.css +0 -18
- package/lib/theme/DocSidebarItem/index.js +177 -0
- package/lib/theme/DocSidebarItem/styles.module.css +15 -0
- package/lib/theme/DocTagDocListPage/index.js +89 -0
- package/lib/theme/DocTagsListPage/index.js +44 -0
- package/lib/theme/{DocVersionSuggestions → DocVersionBanner}/index.js +37 -18
- package/lib/theme/EditThisPage/index.js +3 -1
- package/lib/theme/Footer/index.js +13 -4
- package/lib/theme/Heading/index.js +7 -9
- package/lib/theme/Heading/styles.css +4 -6
- package/lib/theme/Heading/styles.module.css +9 -5
- package/lib/theme/IconClose/index.js +31 -0
- package/lib/theme/LastUpdated/index.js +4 -2
- package/lib/theme/LayoutHead/index.js +13 -11
- package/lib/theme/LayoutProviders/index.js +11 -5
- package/lib/theme/Logo/index.js +14 -12
- package/lib/theme/MDXComponents/index.js +45 -4
- package/lib/theme/MDXComponents/styles.css +11 -0
- package/lib/theme/MDXPage/index.js +2 -1
- package/lib/theme/Navbar/index.js +164 -42
- package/lib/theme/Navbar/styles.module.css +10 -3
- package/lib/theme/NavbarItem/DefaultNavbarItem.js +27 -123
- package/lib/theme/NavbarItem/DocNavbarItem.js +6 -5
- package/lib/theme/NavbarItem/DocsVersionDropdownNavbarItem.js +19 -12
- package/lib/theme/NavbarItem/DropdownNavbarItem.js +155 -0
- package/lib/theme/NavbarItem/{LocaleDropdownNavbarItem.js → LocaleDropdownNavbarItem/index.js} +5 -6
- package/lib/theme/NavbarItem/LocaleDropdownNavbarItem/styles.module.css +11 -0
- package/lib/theme/NavbarItem/index.js +31 -11
- package/lib/theme/Seo/index.js +10 -7
- package/lib/theme/SkipToContent/index.js +9 -3
- package/lib/theme/SkipToContent/styles.module.css +1 -0
- package/lib/theme/TOC/index.js +9 -29
- package/lib/theme/TOC/styles.module.css +1 -1
- package/lib/theme/TOCCollapsible/index.js +53 -0
- package/lib/theme/TOCCollapsible/styles.module.css +50 -0
- package/lib/theme/TOCInline/index.js +7 -27
- package/lib/theme/TOCItems/index.js +78 -0
- package/lib/theme/Tabs/__tests__/index.test.js +123 -0
- package/lib/theme/Tabs/index.js +73 -50
- package/lib/theme/Tabs/styles.module.css +0 -13
- package/lib/theme/Tag/index.js +40 -0
- package/lib/theme/Tag/styles.module.css +70 -0
- package/lib/theme/TagsListByLetter/index.js +48 -0
- package/lib/theme/TagsListByLetter/styles.module.css +11 -0
- package/lib/theme/TagsListInline/index.js +44 -0
- package/lib/theme/TagsListInline/styles.module.css +15 -0
- package/lib/theme/ThemedImage/index.js +4 -5
- package/lib/theme/Toggle/index.js +23 -18
- package/lib/theme/Toggle/styles.module.css +91 -0
- package/lib/theme/UserPreferencesProvider/index.js +1 -9
- package/lib/theme/hooks/useHideableNavbar.js +14 -32
- package/lib/theme/hooks/useTabGroupChoice.js +2 -4
- package/lib/theme/hooks/useTheme.js +2 -2
- package/lib/theme/hooks/useWindowSize.js +33 -20
- package/lib/theme/prism-include-languages.js +4 -3
- package/lib/translations.js +4 -4
- package/lib/types.d.ts +338 -138
- package/lib/validateThemeConfig.js +226 -245
- package/lib-next/__tests__/validateThemeConfig.test.js +277 -3
- package/lib-next/admonitions.css +35 -0
- package/lib-next/index.js +33 -7
- package/lib-next/prism-include-languages.js +0 -2
- package/lib-next/theme/AnnouncementBar/index.js +9 -18
- package/lib-next/theme/AnnouncementBar/styles.module.css +25 -30
- package/lib-next/theme/BackToTopButton/index.js +131 -0
- package/lib-next/theme/BackToTopButton/styles.module.css +42 -0
- package/lib-next/theme/BlogArchivePage/index.js +80 -0
- package/lib-next/theme/BlogLayout/index.js +40 -0
- package/lib-next/theme/BlogListPage/index.js +16 -24
- package/lib-next/theme/BlogPostAuthor/index.js +46 -0
- package/lib-next/theme/BlogPostAuthor/styles.module.css +12 -0
- package/lib-next/theme/BlogPostAuthors/index.js +34 -0
- package/lib-next/theme/BlogPostAuthors/styles.module.css +11 -0
- package/lib-next/theme/BlogPostItem/index.js +79 -86
- package/lib-next/theme/BlogPostPage/index.js +70 -35
- package/lib-next/theme/BlogSidebar/styles.module.css +2 -2
- package/lib-next/theme/BlogTagsListPage/index.js +13 -54
- package/lib-next/theme/BlogTagsPostsPage/index.js +28 -38
- package/lib-next/theme/CodeBlock/index.js +54 -53
- package/lib-next/theme/CodeBlock/styles.module.css +6 -9
- package/lib-next/theme/Details/index.js +20 -0
- package/lib-next/theme/Details/styles.module.css +13 -0
- package/lib-next/theme/DocItem/index.js +46 -55
- package/lib-next/theme/DocItem/styles.module.css +5 -9
- package/lib-next/theme/DocItemFooter/index.js +79 -0
- package/lib-next/theme/DocItemFooter/styles.module.css +18 -0
- package/lib-next/theme/DocPage/index.js +25 -43
- package/lib-next/theme/DocPage/styles.module.css +8 -23
- package/lib-next/theme/DocSidebar/index.js +59 -288
- package/lib-next/theme/DocSidebar/styles.module.css +0 -18
- package/lib-next/theme/DocSidebarItem/index.js +181 -0
- package/lib-next/theme/DocSidebarItem/styles.module.css +15 -0
- package/lib-next/theme/DocTagDocListPage/index.js +89 -0
- package/lib-next/theme/DocTagsListPage/index.js +38 -0
- package/lib-next/theme/{DocVersionSuggestions → DocVersionBanner}/index.js +44 -36
- package/lib-next/theme/EditThisPage/index.js +6 -1
- package/lib-next/theme/Footer/index.js +24 -4
- package/lib-next/theme/Heading/index.js +10 -13
- package/lib-next/theme/Heading/styles.css +4 -6
- package/lib-next/theme/Heading/styles.module.css +9 -5
- package/lib-next/theme/IconClose/index.js +23 -0
- package/lib-next/theme/LastUpdated/index.js +3 -2
- package/lib-next/theme/LayoutHead/index.js +9 -15
- package/lib-next/theme/LayoutProviders/index.js +17 -6
- package/lib-next/theme/Logo/index.js +23 -19
- package/lib-next/theme/MDXComponents/index.js +34 -7
- package/lib-next/theme/MDXComponents/styles.css +11 -0
- package/lib-next/theme/MDXPage/index.js +10 -2
- package/lib-next/theme/Navbar/index.js +192 -56
- package/lib-next/theme/Navbar/styles.module.css +10 -3
- package/lib-next/theme/NavbarItem/DefaultNavbarItem.js +45 -147
- package/lib-next/theme/NavbarItem/DocNavbarItem.js +6 -5
- package/lib-next/theme/NavbarItem/DocsVersionDropdownNavbarItem.js +31 -19
- package/lib-next/theme/NavbarItem/DropdownNavbarItem.js +158 -0
- package/lib-next/theme/NavbarItem/{LocaleDropdownNavbarItem.js → LocaleDropdownNavbarItem/index.js} +4 -8
- package/lib-next/theme/NavbarItem/LocaleDropdownNavbarItem/styles.module.css +11 -0
- package/lib-next/theme/NavbarItem/index.js +25 -12
- package/lib-next/theme/Seo/index.js +11 -7
- package/lib-next/theme/SkipToContent/index.js +5 -6
- package/lib-next/theme/SkipToContent/styles.module.css +1 -0
- package/lib-next/theme/TOC/index.js +12 -36
- package/lib-next/theme/TOC/styles.module.css +1 -1
- package/lib-next/theme/TOCCollapsible/index.js +54 -0
- package/lib-next/theme/TOCCollapsible/styles.module.css +50 -0
- package/lib-next/theme/TOCInline/index.js +10 -28
- package/lib-next/theme/TOCItems/index.js +85 -0
- package/lib-next/theme/Tabs/__tests__/index.test.js +142 -0
- package/lib-next/theme/Tabs/index.js +91 -43
- package/lib-next/theme/Tabs/styles.module.css +0 -13
- package/lib-next/theme/Tag/index.js +27 -0
- package/lib-next/theme/Tag/styles.module.css +70 -0
- package/lib-next/theme/TagsListByLetter/index.js +42 -0
- package/lib-next/theme/TagsListByLetter/styles.module.css +11 -0
- package/lib-next/theme/TagsListInline/index.js +31 -0
- package/lib-next/theme/TagsListInline/styles.module.css +15 -0
- package/lib-next/theme/ThemedImage/index.js +5 -6
- package/lib-next/theme/Toggle/index.js +20 -15
- package/lib-next/theme/Toggle/styles.module.css +91 -0
- package/lib-next/theme/UserPreferencesProvider/index.js +0 -4
- package/lib-next/theme/hooks/useHideableNavbar.js +31 -44
- package/lib-next/theme/hooks/useTabGroupChoice.js +2 -4
- package/lib-next/theme/hooks/useTheme.js +2 -2
- package/lib-next/theme/hooks/useWindowSize.js +34 -20
- package/lib-next/theme/prism-include-languages.js +2 -1
- package/lib-next/translations.js +6 -10
- package/lib-next/types.d.ts +338 -138
- package/lib-next/validateThemeConfig.js +134 -110
- package/package.json +24 -19
- package/src/__tests__/validateThemeConfig.test.js +277 -3
- package/src/admonitions.css +35 -0
- package/src/index.ts +44 -14
- package/src/{prism-include-languages.js → prism-include-languages.ts} +0 -0
- package/src/theme/AnnouncementBar/index.tsx +10 -17
- package/src/theme/AnnouncementBar/styles.module.css +25 -30
- package/src/theme/BackToTopButton/index.tsx +142 -0
- package/src/theme/BackToTopButton/styles.module.css +42 -0
- package/src/theme/BlogArchivePage/index.tsx +91 -0
- package/src/theme/BlogLayout/index.tsx +44 -0
- package/src/theme/BlogListPage/index.tsx +17 -24
- package/src/theme/BlogPostAuthor/index.tsx +49 -0
- package/src/theme/BlogPostAuthor/styles.module.css +12 -0
- package/src/theme/BlogPostAuthors/index.tsx +36 -0
- package/src/theme/BlogPostAuthors/styles.module.css +11 -0
- package/src/theme/BlogPostItem/index.tsx +70 -80
- package/src/theme/BlogPostPage/index.tsx +72 -35
- package/src/theme/BlogSidebar/styles.module.css +2 -2
- package/src/theme/BlogTagsListPage/index.tsx +13 -56
- package/src/theme/BlogTagsPostsPage/index.tsx +28 -38
- package/src/theme/CodeBlock/index.tsx +70 -55
- package/src/theme/CodeBlock/styles.module.css +6 -9
- package/src/theme/Details/index.tsx +24 -0
- package/src/theme/Details/styles.module.css +13 -0
- package/src/theme/DocItem/index.tsx +49 -55
- package/src/theme/DocItem/styles.module.css +5 -9
- package/src/theme/DocItemFooter/index.tsx +91 -0
- package/src/theme/DocItemFooter/styles.module.css +18 -0
- package/src/theme/DocPage/index.tsx +24 -38
- package/src/theme/DocPage/styles.module.css +8 -23
- package/src/theme/DocSidebar/index.tsx +70 -300
- package/src/theme/DocSidebar/styles.module.css +0 -18
- package/src/theme/DocSidebarItem/index.tsx +206 -0
- package/src/theme/DocSidebarItem/styles.module.css +15 -0
- package/src/theme/DocTagDocListPage/index.tsx +89 -0
- package/src/theme/DocTagsListPage/index.tsx +41 -0
- package/src/theme/{DocVersionSuggestions → DocVersionBanner}/index.tsx +58 -44
- package/src/theme/EditThisPage/index.tsx +6 -1
- package/src/theme/Footer/index.tsx +26 -4
- package/src/theme/Heading/index.tsx +10 -13
- package/src/theme/Heading/styles.css +4 -6
- package/src/theme/Heading/styles.module.css +9 -5
- package/src/theme/IconClose/index.tsx +26 -0
- package/src/theme/LastUpdated/index.tsx +3 -2
- package/src/theme/LayoutHead/index.tsx +9 -9
- package/src/theme/LayoutProviders/index.tsx +17 -6
- package/src/theme/Logo/index.tsx +19 -15
- package/src/theme/MDXComponents/index.tsx +39 -5
- package/src/theme/MDXComponents/styles.css +11 -0
- package/src/theme/MDXPage/index.tsx +10 -2
- package/src/theme/Navbar/index.tsx +202 -61
- package/src/theme/Navbar/styles.module.css +10 -3
- package/src/theme/NavbarItem/DefaultNavbarItem.tsx +42 -154
- package/src/theme/NavbarItem/DocNavbarItem.tsx +11 -14
- package/src/theme/NavbarItem/DocsVersionDropdownNavbarItem.tsx +33 -21
- package/src/theme/NavbarItem/DocsVersionNavbarItem.tsx +7 -3
- package/src/theme/NavbarItem/DropdownNavbarItem.tsx +180 -0
- package/src/theme/NavbarItem/{LocaleDropdownNavbarItem.tsx → LocaleDropdownNavbarItem/index.tsx} +8 -7
- package/src/theme/NavbarItem/LocaleDropdownNavbarItem/styles.module.css +11 -0
- package/src/theme/NavbarItem/index.tsx +41 -16
- package/src/theme/Seo/index.tsx +7 -4
- package/src/theme/SkipToContent/index.tsx +5 -6
- package/src/theme/SkipToContent/styles.module.css +1 -0
- package/src/theme/TOC/index.tsx +12 -41
- package/src/theme/TOC/styles.module.css +1 -1
- package/src/theme/TOCCollapsible/index.tsx +58 -0
- package/src/theme/TOCCollapsible/styles.module.css +50 -0
- package/src/theme/TOCInline/index.tsx +13 -32
- package/src/theme/TOCItems/index.tsx +96 -0
- package/src/theme/Tabs/__tests__/index.test.tsx +129 -0
- package/src/theme/Tabs/index.tsx +93 -49
- package/src/theme/Tabs/styles.module.css +0 -13
- package/src/theme/Tag/index.tsx +31 -0
- package/src/theme/Tag/styles.module.css +70 -0
- package/src/theme/TagsListByLetter/index.tsx +45 -0
- package/src/theme/TagsListByLetter/styles.module.css +11 -0
- package/src/theme/TagsListInline/index.tsx +35 -0
- package/src/theme/TagsListInline/styles.module.css +15 -0
- package/src/theme/ThemedImage/index.tsx +6 -6
- package/src/theme/Toggle/index.tsx +20 -15
- package/src/theme/Toggle/styles.module.css +91 -0
- package/src/theme/UserPreferencesProvider/index.tsx +0 -5
- package/src/theme/hooks/useContextualSearchFilters.ts +1 -1
- package/src/theme/hooks/useHideableNavbar.ts +32 -45
- package/src/theme/hooks/useTabGroupChoice.ts +4 -4
- package/src/theme/hooks/useTheme.ts +2 -2
- package/src/theme/hooks/useWindowSize.ts +38 -20
- package/src/theme/prism-include-languages.ts +3 -2
- package/src/translations.ts +6 -10
- package/src/types.d.ts +338 -138
- package/src/{validateThemeConfig.js → validateThemeConfig.ts} +144 -90
- package/tsconfig.json +1 -2
- package/update-code-translations.js +10 -6
- package/update-code-translations.test.js +1 -1
- package/update.js +151 -0
- package/lib/theme/Toggle/styles.css +0 -103
- package/lib/theme/hooks/useAnnouncementBar.js +0 -63
- package/lib/theme/hooks/useScrollPosition.js +0 -49
- package/lib/theme/hooks/useTOCHighlight.js +0 -87
- package/lib-next/theme/Toggle/styles.css +0 -103
- package/lib-next/theme/hooks/useAnnouncementBar.js +0 -49
- package/lib-next/theme/hooks/useScrollPosition.js +0 -38
- package/lib-next/theme/hooks/useTOCHighlight.js +0 -84
- package/src/theme/Toggle/styles.css +0 -103
- package/src/theme/hooks/useAnnouncementBar.ts +0 -58
- package/src/theme/hooks/useScrollPosition.ts +0 -45
- package/src/theme/hooks/useTOCHighlight.ts +0 -98
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
import React from 'react';
|
|
8
|
+
import Layout from '@theme/Layout';
|
|
9
|
+
import {
|
|
10
|
+
ThemeClassNames,
|
|
11
|
+
translateTagsPageTitle,
|
|
12
|
+
} from '@docusaurus/theme-common';
|
|
13
|
+
import TagsListByLetter from '@theme/TagsListByLetter';
|
|
14
|
+
|
|
15
|
+
function DocTagsListPage({tags}) {
|
|
16
|
+
const title = translateTagsPageTitle();
|
|
17
|
+
return (
|
|
18
|
+
<Layout
|
|
19
|
+
title={title}
|
|
20
|
+
wrapperClassName={ThemeClassNames.wrapper.docsPages}
|
|
21
|
+
pageClassName={ThemeClassNames.page.docsTagsListPage}
|
|
22
|
+
searchMetadatas={{
|
|
23
|
+
// assign unique search tag to exclude this page from search results!
|
|
24
|
+
tag: 'doc_tags_list',
|
|
25
|
+
}}>
|
|
26
|
+
<div className="container margin-vert--lg">
|
|
27
|
+
<div className="row">
|
|
28
|
+
<main className="col col--8 col--offset-2">
|
|
29
|
+
<h1>{title}</h1>
|
|
30
|
+
<TagsListByLetter tags={tags} />
|
|
31
|
+
</main>
|
|
32
|
+
</div>
|
|
33
|
+
</div>
|
|
34
|
+
</Layout>
|
|
35
|
+
);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export default DocTagsListPage;
|
|
@@ -8,21 +8,21 @@ import React from 'react';
|
|
|
8
8
|
import useDocusaurusContext from '@docusaurus/useDocusaurusContext';
|
|
9
9
|
import Link from '@docusaurus/Link';
|
|
10
10
|
import Translate from '@docusaurus/Translate';
|
|
11
|
+
import {useActivePlugin, useDocVersionSuggestions} from '@theme/hooks/useDocs';
|
|
11
12
|
import {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
import {useDocsPreferredVersion} from '@docusaurus/theme-common';
|
|
13
|
+
ThemeClassNames,
|
|
14
|
+
useDocsPreferredVersion,
|
|
15
|
+
} from '@docusaurus/theme-common';
|
|
16
|
+
import clsx from 'clsx';
|
|
17
17
|
|
|
18
|
-
function UnreleasedVersionLabel({siteTitle,
|
|
18
|
+
function UnreleasedVersionLabel({siteTitle, versionMetadata}) {
|
|
19
19
|
return (
|
|
20
20
|
<Translate
|
|
21
21
|
id="theme.docs.versions.unreleasedVersionLabel"
|
|
22
22
|
description="The label used to tell the user that he's browsing an unreleased doc version"
|
|
23
23
|
values={{
|
|
24
24
|
siteTitle,
|
|
25
|
-
versionLabel: <b>{
|
|
25
|
+
versionLabel: <b>{versionMetadata.label}</b>,
|
|
26
26
|
}}>
|
|
27
27
|
{
|
|
28
28
|
'This is unreleased documentation for {siteTitle} {versionLabel} version.'
|
|
@@ -31,14 +31,14 @@ function UnreleasedVersionLabel({siteTitle, versionLabel}) {
|
|
|
31
31
|
);
|
|
32
32
|
}
|
|
33
33
|
|
|
34
|
-
function UnmaintainedVersionLabel({siteTitle,
|
|
34
|
+
function UnmaintainedVersionLabel({siteTitle, versionMetadata}) {
|
|
35
35
|
return (
|
|
36
36
|
<Translate
|
|
37
37
|
id="theme.docs.versions.unmaintainedVersionLabel"
|
|
38
38
|
description="The label used to tell the user that he's browsing an unmaintained doc version"
|
|
39
39
|
values={{
|
|
40
40
|
siteTitle,
|
|
41
|
-
versionLabel: <b>{
|
|
41
|
+
versionLabel: <b>{versionMetadata.label}</b>,
|
|
42
42
|
}}>
|
|
43
43
|
{
|
|
44
44
|
'This is documentation for {siteTitle} {versionLabel}, which is no longer actively maintained.'
|
|
@@ -47,11 +47,22 @@ function UnmaintainedVersionLabel({siteTitle, versionLabel}) {
|
|
|
47
47
|
);
|
|
48
48
|
}
|
|
49
49
|
|
|
50
|
+
const BannerLabelComponents = {
|
|
51
|
+
unreleased: UnreleasedVersionLabel,
|
|
52
|
+
unmaintained: UnmaintainedVersionLabel,
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
function BannerLabel(props) {
|
|
56
|
+
const BannerLabelComponent =
|
|
57
|
+
BannerLabelComponents[props.versionMetadata.banner];
|
|
58
|
+
return <BannerLabelComponent {...props} />;
|
|
59
|
+
}
|
|
60
|
+
|
|
50
61
|
function LatestVersionSuggestionLabel({versionLabel, to, onClick}) {
|
|
51
62
|
return (
|
|
52
63
|
<Translate
|
|
53
64
|
id="theme.docs.versions.latestVersionSuggestionLabel"
|
|
54
|
-
description="The label
|
|
65
|
+
description="The label used to tell the user to check the latest version"
|
|
55
66
|
values={{
|
|
56
67
|
versionLabel,
|
|
57
68
|
latestVersionLink: (
|
|
@@ -73,44 +84,33 @@ function LatestVersionSuggestionLabel({versionLabel, to, onClick}) {
|
|
|
73
84
|
);
|
|
74
85
|
}
|
|
75
86
|
|
|
76
|
-
|
|
77
|
-
version.docs.find((doc) => doc.id === version.mainDocId);
|
|
78
|
-
|
|
79
|
-
function DocVersionSuggestions() {
|
|
87
|
+
function DocVersionBannerEnabled({versionMetadata}) {
|
|
80
88
|
const {
|
|
81
89
|
siteConfig: {title: siteTitle},
|
|
82
90
|
} = useDocusaurusContext();
|
|
83
91
|
const {pluginId} = useActivePlugin({
|
|
84
92
|
failfast: true,
|
|
85
93
|
});
|
|
86
|
-
const {savePreferredVersionName} = useDocsPreferredVersion(pluginId);
|
|
87
|
-
const activeVersion = useActiveVersion(pluginId);
|
|
88
|
-
const {
|
|
89
|
-
latestDocSuggestion,
|
|
90
|
-
latestVersionSuggestion,
|
|
91
|
-
} = useDocVersionSuggestions(pluginId); // No suggestion to be made
|
|
92
94
|
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
95
|
+
const getVersionMainDoc = (version) =>
|
|
96
|
+
version.docs.find((doc) => doc.id === version.mainDocId);
|
|
97
|
+
|
|
98
|
+
const {savePreferredVersionName} = useDocsPreferredVersion(pluginId);
|
|
99
|
+
const {latestDocSuggestion, latestVersionSuggestion} =
|
|
100
|
+
useDocVersionSuggestions(pluginId); // try to link to same doc in latest version (not always possible)
|
|
96
101
|
// fallback to main doc of latest version
|
|
97
102
|
|
|
98
103
|
const latestVersionSuggestedDoc =
|
|
99
104
|
latestDocSuggestion ?? getVersionMainDoc(latestVersionSuggestion);
|
|
100
105
|
return (
|
|
101
|
-
<div
|
|
106
|
+
<div
|
|
107
|
+
className={clsx(
|
|
108
|
+
ThemeClassNames.docs.docVersionBanner,
|
|
109
|
+
'alert alert--warning margin-bottom--md',
|
|
110
|
+
)}
|
|
111
|
+
role="alert">
|
|
102
112
|
<div>
|
|
103
|
-
{
|
|
104
|
-
<UnreleasedVersionLabel
|
|
105
|
-
siteTitle={siteTitle}
|
|
106
|
-
versionLabel={activeVersion.label}
|
|
107
|
-
/>
|
|
108
|
-
) : (
|
|
109
|
-
<UnmaintainedVersionLabel
|
|
110
|
-
siteTitle={siteTitle}
|
|
111
|
-
versionLabel={activeVersion.label}
|
|
112
|
-
/>
|
|
113
|
-
)}
|
|
113
|
+
<BannerLabel siteTitle={siteTitle} versionMetadata={versionMetadata} />
|
|
114
114
|
</div>
|
|
115
115
|
<div className="margin-top--md">
|
|
116
116
|
<LatestVersionSuggestionLabel
|
|
@@ -123,4 +123,12 @@ function DocVersionSuggestions() {
|
|
|
123
123
|
);
|
|
124
124
|
}
|
|
125
125
|
|
|
126
|
-
|
|
126
|
+
function DocVersionBanner({versionMetadata}) {
|
|
127
|
+
if (versionMetadata.banner) {
|
|
128
|
+
return <DocVersionBannerEnabled versionMetadata={versionMetadata} />;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
return <></>;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
export default DocVersionBanner;
|
|
@@ -7,9 +7,14 @@
|
|
|
7
7
|
import React from 'react';
|
|
8
8
|
import Translate from '@docusaurus/Translate';
|
|
9
9
|
import IconEdit from '@theme/IconEdit';
|
|
10
|
+
import {ThemeClassNames} from '@docusaurus/theme-common';
|
|
10
11
|
export default function EditThisPage({editUrl}) {
|
|
11
12
|
return (
|
|
12
|
-
<a
|
|
13
|
+
<a
|
|
14
|
+
href={editUrl}
|
|
15
|
+
target="_blank"
|
|
16
|
+
rel="noreferrer noopener"
|
|
17
|
+
className={ThemeClassNames.common.editThisPage}>
|
|
13
18
|
<IconEdit />
|
|
14
19
|
<Translate
|
|
15
20
|
id="theme.common.editThisPage"
|
|
@@ -9,8 +9,10 @@ import clsx from 'clsx';
|
|
|
9
9
|
import Link from '@docusaurus/Link';
|
|
10
10
|
import {useThemeConfig} from '@docusaurus/theme-common';
|
|
11
11
|
import useBaseUrl from '@docusaurus/useBaseUrl';
|
|
12
|
+
import isInternalUrl from '@docusaurus/isInternalUrl';
|
|
12
13
|
import styles from './styles.module.css';
|
|
13
14
|
import ThemedImage from '@theme/ThemedImage';
|
|
15
|
+
import IconExternalLink from '@theme/IconExternalLink';
|
|
14
16
|
|
|
15
17
|
function FooterLink({to, href, label, prependBaseUrlToHref, ...props}) {
|
|
16
18
|
const toUrl = useBaseUrl(to);
|
|
@@ -28,13 +30,26 @@ function FooterLink({to, href, label, prependBaseUrlToHref, ...props}) {
|
|
|
28
30
|
to: toUrl,
|
|
29
31
|
})}
|
|
30
32
|
{...props}>
|
|
31
|
-
{
|
|
33
|
+
{href && !isInternalUrl(href) ? (
|
|
34
|
+
<span>
|
|
35
|
+
{label}
|
|
36
|
+
<IconExternalLink />
|
|
37
|
+
</span>
|
|
38
|
+
) : (
|
|
39
|
+
label
|
|
40
|
+
)}
|
|
32
41
|
</Link>
|
|
33
42
|
);
|
|
34
43
|
}
|
|
35
44
|
|
|
36
|
-
const FooterLogo = ({sources, alt}) => (
|
|
37
|
-
<ThemedImage
|
|
45
|
+
const FooterLogo = ({sources, alt, width, height}) => (
|
|
46
|
+
<ThemedImage
|
|
47
|
+
className="footer__logo"
|
|
48
|
+
alt={alt}
|
|
49
|
+
sources={sources}
|
|
50
|
+
width={width}
|
|
51
|
+
height={height}
|
|
52
|
+
/>
|
|
38
53
|
);
|
|
39
54
|
|
|
40
55
|
function Footer() {
|
|
@@ -94,7 +109,12 @@ function Footer() {
|
|
|
94
109
|
<div className="margin-bottom--sm">
|
|
95
110
|
{logo.href ? (
|
|
96
111
|
<Link href={logo.href} className={styles.footerLogoLink}>
|
|
97
|
-
<FooterLogo
|
|
112
|
+
<FooterLogo
|
|
113
|
+
alt={logo.alt}
|
|
114
|
+
sources={sources}
|
|
115
|
+
width={logo.width}
|
|
116
|
+
height={logo.height}
|
|
117
|
+
/>
|
|
98
118
|
</Link>
|
|
99
119
|
) : (
|
|
100
120
|
<FooterLogo alt={logo.alt} sources={sources} />
|
|
@@ -4,8 +4,6 @@
|
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
|
-
|
|
8
|
-
/* eslint-disable jsx-a11y/anchor-has-content, jsx-a11y/anchor-is-valid */
|
|
9
7
|
import React from 'react';
|
|
10
8
|
import clsx from 'clsx';
|
|
11
9
|
import {translate} from '@docusaurus/Translate';
|
|
@@ -18,7 +16,7 @@ export const MainHeading = function MainHeading({...props}) {
|
|
|
18
16
|
<h1
|
|
19
17
|
{...props}
|
|
20
18
|
id={undefined} // h1 headings do not need an id because they don't appear in the TOC
|
|
21
|
-
|
|
19
|
+
>
|
|
22
20
|
{props.children}
|
|
23
21
|
</h1>
|
|
24
22
|
</header>
|
|
@@ -36,17 +34,16 @@ const createAnchorHeading = (Tag) =>
|
|
|
36
34
|
}
|
|
37
35
|
|
|
38
36
|
return (
|
|
39
|
-
<Tag
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
id={id}
|
|
47
|
-
/>
|
|
37
|
+
<Tag
|
|
38
|
+
{...props}
|
|
39
|
+
className={clsx('anchor', {
|
|
40
|
+
[styles.anchorWithHideOnScrollNavbar]: hideOnScroll,
|
|
41
|
+
[styles.anchorWithStickyNavbar]: !hideOnScroll,
|
|
42
|
+
})}
|
|
43
|
+
id={id}>
|
|
48
44
|
{props.children}
|
|
49
45
|
<a
|
|
46
|
+
aria-hidden="true"
|
|
50
47
|
className="hash-link"
|
|
51
48
|
href={`#${id}`}
|
|
52
49
|
title={translate({
|
|
@@ -54,7 +51,7 @@ const createAnchorHeading = (Tag) =>
|
|
|
54
51
|
message: 'Direct link to heading',
|
|
55
52
|
description: 'Title for link to heading',
|
|
56
53
|
})}>
|
|
57
|
-
|
|
54
|
+
​
|
|
58
55
|
</a>
|
|
59
56
|
</Tag>
|
|
60
57
|
);
|
|
@@ -5,18 +5,16 @@
|
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
.anchor {
|
|
9
|
-
display: block;
|
|
10
|
-
position: relative;
|
|
11
|
-
top: -0.5rem;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
8
|
.hash-link {
|
|
15
9
|
opacity: 0;
|
|
16
10
|
padding-left: 0.5rem;
|
|
17
11
|
transition: opacity var(--ifm-transition-fast);
|
|
18
12
|
}
|
|
19
13
|
|
|
14
|
+
.hash-link:before {
|
|
15
|
+
content: '#';
|
|
16
|
+
}
|
|
17
|
+
|
|
20
18
|
.hash-link:focus,
|
|
21
19
|
*:hover > .hash-link {
|
|
22
20
|
opacity: 1;
|
|
@@ -5,11 +5,15 @@
|
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
/*
|
|
9
|
+
When the navbar is sticky, ensure that on anchor click,
|
|
10
|
+
the browser does not scroll that anchor behind the navbar
|
|
11
|
+
See https://twitter.com/JoshWComeau/status/1332015868725891076
|
|
12
|
+
*/
|
|
13
|
+
.anchorWithStickyNavbar {
|
|
14
|
+
scroll-margin-top: calc(var(--ifm-navbar-height) + 0.5rem);
|
|
10
15
|
}
|
|
11
16
|
|
|
12
|
-
.
|
|
13
|
-
|
|
14
|
-
margin-bottom: calc(var(--ifm-leading-desktop) * var(--ifm-leading));
|
|
17
|
+
.anchorWithHideOnScrollNavbar {
|
|
18
|
+
scroll-margin-top: 0.5rem;
|
|
15
19
|
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
import React from 'react';
|
|
8
|
+
export default function IconClose({
|
|
9
|
+
width = 21,
|
|
10
|
+
height = 21,
|
|
11
|
+
color = 'currentColor',
|
|
12
|
+
strokeWidth = 1.2,
|
|
13
|
+
className,
|
|
14
|
+
...restProps
|
|
15
|
+
}) {
|
|
16
|
+
return (
|
|
17
|
+
<svg viewBox="0 0 15 15" width={width} height={height} {...restProps}>
|
|
18
|
+
<g stroke={color} strokeWidth={strokeWidth}>
|
|
19
|
+
<path d="M.75.75l13.5 13.5M14.25.75L.75 14.25" />
|
|
20
|
+
</g>
|
|
21
|
+
</svg>
|
|
22
|
+
);
|
|
23
|
+
}
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import React from 'react';
|
|
8
8
|
import Translate from '@docusaurus/Translate';
|
|
9
|
+
import {ThemeClassNames} from '@docusaurus/theme-common';
|
|
9
10
|
|
|
10
11
|
function LastUpdatedAtDate({lastUpdatedAt, formattedLastUpdatedAt}) {
|
|
11
12
|
return (
|
|
@@ -45,7 +46,7 @@ export default function LastUpdated({
|
|
|
45
46
|
lastUpdatedBy,
|
|
46
47
|
}) {
|
|
47
48
|
return (
|
|
48
|
-
|
|
49
|
+
<span className={ThemeClassNames.common.lastUpdated}>
|
|
49
50
|
<Translate
|
|
50
51
|
id="theme.lastUpdated.lastUpdatedAtBy"
|
|
51
52
|
description="The sentence used to display when a page has been last updated, and by who"
|
|
@@ -72,6 +73,6 @@ export default function LastUpdated({
|
|
|
72
73
|
<small> (Simulated during dev for better perf)</small>
|
|
73
74
|
</div>
|
|
74
75
|
)}
|
|
75
|
-
|
|
76
|
+
</span>
|
|
76
77
|
);
|
|
77
78
|
}
|
|
@@ -14,6 +14,7 @@ import {
|
|
|
14
14
|
DEFAULT_SEARCH_TAG,
|
|
15
15
|
useTitleFormatter,
|
|
16
16
|
useAlternatePageUtils,
|
|
17
|
+
useThemeConfig,
|
|
17
18
|
} from '@docusaurus/theme-common';
|
|
18
19
|
import {useLocation} from '@docusaurus/router'; // Useful for SEO
|
|
19
20
|
// See https://developers.google.com/search/docs/advanced/crawling/localized-versions
|
|
@@ -77,12 +78,10 @@ function CanonicalUrlHeaders({permalink}) {
|
|
|
77
78
|
|
|
78
79
|
export default function LayoutHead(props) {
|
|
79
80
|
const {
|
|
80
|
-
siteConfig: {
|
|
81
|
-
favicon,
|
|
82
|
-
themeConfig: {metadatas, image: defaultImage},
|
|
83
|
-
},
|
|
81
|
+
siteConfig: {favicon},
|
|
84
82
|
i18n: {currentLocale, localeConfigs},
|
|
85
83
|
} = useDocusaurusContext();
|
|
84
|
+
const {metadatas, image: defaultImage} = useThemeConfig();
|
|
86
85
|
const {title, description, image, keywords, searchMetadatas} = props;
|
|
87
86
|
const faviconUrl = useBaseUrl(favicon);
|
|
88
87
|
const pageTitle = useTitleFormatter(title); // See https://github.com/facebook/docusaurus/issues/3317#issuecomment-754661855
|
|
@@ -98,19 +97,14 @@ export default function LayoutHead(props) {
|
|
|
98
97
|
{favicon && <link rel="shortcut icon" href={faviconUrl} />}
|
|
99
98
|
<title>{pageTitle}</title>
|
|
100
99
|
<meta property="og:title" content={pageTitle} />
|
|
101
|
-
|
|
102
|
-
(defaultImage && (
|
|
103
|
-
<meta name="twitter:card" content="summary_large_image" />
|
|
104
|
-
))}
|
|
100
|
+
<meta name="twitter:card" content="summary_large_image" />
|
|
105
101
|
</Head>
|
|
106
102
|
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
}}
|
|
113
|
-
/>
|
|
103
|
+
{/* image can override the default image */}
|
|
104
|
+
{defaultImage && <Seo image={defaultImage} />}
|
|
105
|
+
{image && <Seo image={image} />}
|
|
106
|
+
|
|
107
|
+
<Seo description={description} keywords={keywords} />
|
|
114
108
|
|
|
115
109
|
<CanonicalUrlHeaders />
|
|
116
110
|
|
|
@@ -7,15 +7,26 @@
|
|
|
7
7
|
import React from 'react';
|
|
8
8
|
import ThemeProvider from '@theme/ThemeProvider';
|
|
9
9
|
import UserPreferencesProvider from '@theme/UserPreferencesProvider';
|
|
10
|
-
import {
|
|
10
|
+
import {
|
|
11
|
+
AnnouncementBarProvider,
|
|
12
|
+
DocsPreferredVersionContextProvider,
|
|
13
|
+
MobileSecondaryMenuProvider,
|
|
14
|
+
ScrollControllerProvider,
|
|
15
|
+
} from '@docusaurus/theme-common';
|
|
11
16
|
export default function LayoutProviders({children}) {
|
|
12
17
|
return (
|
|
13
18
|
<ThemeProvider>
|
|
14
|
-
<
|
|
15
|
-
<
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
+
<AnnouncementBarProvider>
|
|
20
|
+
<UserPreferencesProvider>
|
|
21
|
+
<ScrollControllerProvider>
|
|
22
|
+
<DocsPreferredVersionContextProvider>
|
|
23
|
+
<MobileSecondaryMenuProvider>
|
|
24
|
+
{children}
|
|
25
|
+
</MobileSecondaryMenuProvider>
|
|
26
|
+
</DocsPreferredVersionContextProvider>
|
|
27
|
+
</ScrollControllerProvider>
|
|
28
|
+
</UserPreferencesProvider>
|
|
29
|
+
</AnnouncementBarProvider>
|
|
19
30
|
</ThemeProvider>
|
|
20
31
|
);
|
|
21
32
|
}
|
|
@@ -9,28 +9,34 @@ import Link from '@docusaurus/Link';
|
|
|
9
9
|
import ThemedImage from '@theme/ThemedImage';
|
|
10
10
|
import useBaseUrl from '@docusaurus/useBaseUrl';
|
|
11
11
|
import useDocusaurusContext from '@docusaurus/useDocusaurusContext';
|
|
12
|
+
import {useThemeConfig} from '@docusaurus/theme-common';
|
|
12
13
|
|
|
13
14
|
const Logo = (props) => {
|
|
14
15
|
const {
|
|
15
|
-
siteConfig: {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
},
|
|
23
|
-
},
|
|
16
|
+
siteConfig: {title},
|
|
17
|
+
} = useDocusaurusContext();
|
|
18
|
+
const {
|
|
19
|
+
navbar: {
|
|
20
|
+
title: navbarTitle,
|
|
21
|
+
logo = {
|
|
22
|
+
src: '',
|
|
24
23
|
},
|
|
25
24
|
},
|
|
26
|
-
|
|
27
|
-
} = useDocusaurusContext();
|
|
25
|
+
} = useThemeConfig();
|
|
28
26
|
const {imageClassName, titleClassName, ...propsRest} = props;
|
|
29
27
|
const logoLink = useBaseUrl(logo.href || '/');
|
|
30
28
|
const sources = {
|
|
31
29
|
light: useBaseUrl(logo.src),
|
|
32
30
|
dark: useBaseUrl(logo.srcDark || logo.src),
|
|
33
31
|
};
|
|
32
|
+
const themedImage = (
|
|
33
|
+
<ThemedImage
|
|
34
|
+
sources={sources}
|
|
35
|
+
height={logo.height}
|
|
36
|
+
width={logo.width}
|
|
37
|
+
alt={logo.alt || navbarTitle || title}
|
|
38
|
+
/>
|
|
39
|
+
);
|
|
34
40
|
return (
|
|
35
41
|
<Link
|
|
36
42
|
to={logoLink}
|
|
@@ -38,14 +44,12 @@ const Logo = (props) => {
|
|
|
38
44
|
{...(logo.target && {
|
|
39
45
|
target: logo.target,
|
|
40
46
|
})}>
|
|
41
|
-
{logo.src &&
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
/>
|
|
48
|
-
)}
|
|
47
|
+
{logo.src &&
|
|
48
|
+
(imageClassName ? (
|
|
49
|
+
<div className={imageClassName}>{themedImage}</div>
|
|
50
|
+
) : (
|
|
51
|
+
<>{themedImage}</>
|
|
52
|
+
))}
|
|
49
53
|
{navbarTitle != null && <b className={titleClassName}>{navbarTitle}</b>}
|
|
50
54
|
</Link>
|
|
51
55
|
);
|
|
@@ -5,10 +5,30 @@
|
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
7
|
import React, {isValidElement} from 'react';
|
|
8
|
+
import Head from '@docusaurus/Head';
|
|
8
9
|
import Link from '@docusaurus/Link';
|
|
9
10
|
import CodeBlock from '@theme/CodeBlock';
|
|
10
11
|
import Heading from '@theme/Heading';
|
|
12
|
+
import Details from '@theme/Details';
|
|
13
|
+
import './styles.css'; // MDX elements are wrapped through the MDX pragma
|
|
14
|
+
// In some cases (notably usage with Head/Helmet) we need to unwrap those elements.
|
|
15
|
+
|
|
16
|
+
function unwrapMDXElement(element) {
|
|
17
|
+
if (element?.props?.mdxType && element?.props?.originalType) {
|
|
18
|
+
const {mdxType, originalType, ...newProps} = element.props;
|
|
19
|
+
return React.createElement(element.props.originalType, newProps);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
return element;
|
|
23
|
+
}
|
|
24
|
+
|
|
11
25
|
const MDXComponents = {
|
|
26
|
+
head: (props) => {
|
|
27
|
+
const unwrappedChildren = React.Children.map(props.children, (child) =>
|
|
28
|
+
unwrapMDXElement(child),
|
|
29
|
+
);
|
|
30
|
+
return <Head {...props}>{unwrappedChildren}</Head>;
|
|
31
|
+
},
|
|
12
32
|
code: (props) => {
|
|
13
33
|
const {children} = props; // For retrocompatibility purposes (pretty rare use case)
|
|
14
34
|
// See https://github.com/facebook/docusaurus/pull/1584
|
|
@@ -27,20 +47,27 @@ const MDXComponents = {
|
|
|
27
47
|
pre: (props) => {
|
|
28
48
|
const {children} = props; // See comment for `code` above
|
|
29
49
|
|
|
30
|
-
if (isValidElement(children?.props?.children)) {
|
|
31
|
-
return children
|
|
50
|
+
if (isValidElement(children) && isValidElement(children?.props?.children)) {
|
|
51
|
+
return children.props.children;
|
|
32
52
|
}
|
|
33
53
|
|
|
34
54
|
return (
|
|
35
55
|
<CodeBlock
|
|
36
|
-
{...(isValidElement(children)
|
|
37
|
-
? children?.props
|
|
38
|
-
: {
|
|
39
|
-
children,
|
|
40
|
-
})}
|
|
56
|
+
{...(isValidElement(children) ? children?.props : {...props})}
|
|
41
57
|
/>
|
|
42
58
|
);
|
|
43
59
|
},
|
|
60
|
+
details: (props) => {
|
|
61
|
+
const items = React.Children.toArray(props.children); // Split summary item from the rest to pass it as a separate prop to the Detais theme component
|
|
62
|
+
|
|
63
|
+
const summary = items.find((item) => item?.props?.mdxType === 'summary');
|
|
64
|
+
const children = <>{items.filter((item) => item !== summary)}</>;
|
|
65
|
+
return (
|
|
66
|
+
<Details {...props} summary={summary}>
|
|
67
|
+
{children}
|
|
68
|
+
</Details>
|
|
69
|
+
);
|
|
70
|
+
},
|
|
44
71
|
h1: Heading('h1'),
|
|
45
72
|
h2: Heading('h2'),
|
|
46
73
|
h3: Heading('h3'),
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
ul.contains-task-list {
|
|
9
|
+
padding-left: 0;
|
|
10
|
+
list-style: none;
|
|
11
|
+
}
|
|
@@ -15,7 +15,11 @@ import styles from './styles.module.css';
|
|
|
15
15
|
|
|
16
16
|
function MDXPage(props) {
|
|
17
17
|
const {content: MDXPageContent} = props;
|
|
18
|
-
const {
|
|
18
|
+
const {
|
|
19
|
+
// TODO this frontmatter is not validated/normalized, it's the raw user-provided one. We should expose normalized one too!
|
|
20
|
+
frontMatter,
|
|
21
|
+
metadata,
|
|
22
|
+
} = MDXPageContent;
|
|
19
23
|
const {
|
|
20
24
|
title,
|
|
21
25
|
description,
|
|
@@ -39,7 +43,11 @@ function MDXPage(props) {
|
|
|
39
43
|
</div>
|
|
40
44
|
{!hideTableOfContents && MDXPageContent.toc && (
|
|
41
45
|
<div className="col col--2">
|
|
42
|
-
<TOC
|
|
46
|
+
<TOC
|
|
47
|
+
toc={MDXPageContent.toc}
|
|
48
|
+
minHeadingLevel={frontMatter.toc_min_heading_level}
|
|
49
|
+
maxHeadingLevel={frontMatter.toc_max_heading_level}
|
|
50
|
+
/>
|
|
43
51
|
</div>
|
|
44
52
|
)}
|
|
45
53
|
</div>
|