@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
|
@@ -7,18 +7,18 @@ exports.default = void 0;
|
|
|
7
7
|
|
|
8
8
|
var _react = _interopRequireDefault(require("react"));
|
|
9
9
|
|
|
10
|
-
var
|
|
10
|
+
var _Seo = _interopRequireDefault(require("@theme/Seo"));
|
|
11
|
+
|
|
12
|
+
var _BlogLayout = _interopRequireDefault(require("@theme/BlogLayout"));
|
|
11
13
|
|
|
12
14
|
var _BlogPostItem = _interopRequireDefault(require("@theme/BlogPostItem"));
|
|
13
15
|
|
|
14
16
|
var _BlogPostPaginator = _interopRequireDefault(require("@theme/BlogPostPaginator"));
|
|
15
17
|
|
|
16
|
-
var
|
|
18
|
+
var _themeCommon = require("@docusaurus/theme-common");
|
|
17
19
|
|
|
18
20
|
var _TOC = _interopRequireDefault(require("@theme/TOC"));
|
|
19
21
|
|
|
20
|
-
var _themeCommon = require("@docusaurus/theme-common");
|
|
21
|
-
|
|
22
22
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
23
23
|
|
|
24
24
|
/**
|
|
@@ -28,41 +28,54 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
28
28
|
* LICENSE file in the root directory of this source tree.
|
|
29
29
|
*/
|
|
30
30
|
function BlogPostPage(props) {
|
|
31
|
+
var _assets$image;
|
|
32
|
+
|
|
31
33
|
const {
|
|
32
34
|
content: BlogPostContents,
|
|
33
35
|
sidebar
|
|
34
36
|
} = props;
|
|
35
37
|
const {
|
|
38
|
+
// TODO this frontmatter is not validated/normalized, it's the raw user-provided one. We should expose normalized one too!
|
|
36
39
|
frontMatter,
|
|
40
|
+
assets,
|
|
37
41
|
metadata
|
|
38
42
|
} = BlogPostContents;
|
|
39
43
|
const {
|
|
40
44
|
title,
|
|
41
45
|
description,
|
|
42
46
|
nextItem,
|
|
43
|
-
prevItem
|
|
47
|
+
prevItem,
|
|
48
|
+
date,
|
|
49
|
+
tags,
|
|
50
|
+
authors
|
|
44
51
|
} = metadata;
|
|
45
52
|
const {
|
|
46
|
-
hide_table_of_contents: hideTableOfContents
|
|
53
|
+
hide_table_of_contents: hideTableOfContents,
|
|
54
|
+
keywords,
|
|
55
|
+
toc_min_heading_level: tocMinHeadingLevel,
|
|
56
|
+
toc_max_heading_level: tocMaxHeadingLevel
|
|
47
57
|
} = frontMatter;
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
58
|
+
const image = (_assets$image = assets.image) !== null && _assets$image !== void 0 ? _assets$image : frontMatter.image;
|
|
59
|
+
return <_BlogLayout.default wrapperClassName={_themeCommon.ThemeClassNames.wrapper.blogPages} pageClassName={_themeCommon.ThemeClassNames.page.blogPostPage} sidebar={sidebar} toc={!hideTableOfContents && BlogPostContents.toc && BlogPostContents.toc.length > 0 ? <_TOC.default toc={BlogPostContents.toc} minHeadingLevel={tocMinHeadingLevel} maxHeadingLevel={tocMaxHeadingLevel} /> : undefined}>
|
|
60
|
+
<_Seo.default // TODO refactor needed: it's a bit annoying but Seo MUST be inside BlogLayout
|
|
61
|
+
// otherwise default image (set by BlogLayout) would shadow the custom blog post image
|
|
62
|
+
title={title} description={description} keywords={keywords} image={image}>
|
|
63
|
+
<meta property="og:type" content="article" />
|
|
64
|
+
<meta property="article:published_time" content={date} />
|
|
65
|
+
|
|
66
|
+
{
|
|
67
|
+
/* TODO double check those article metas array syntaxes, see https://ogp.me/#array */
|
|
68
|
+
}
|
|
69
|
+
{authors.some(author => author.url) && <meta property="article:author" content={authors.map(author => author.url).filter(Boolean).join(',')} />}
|
|
70
|
+
{tags.length > 0 && <meta property="article:tag" content={tags.map(tag => tag.label).join(',')} />}
|
|
71
|
+
</_Seo.default>
|
|
72
|
+
|
|
73
|
+
<_BlogPostItem.default frontMatter={frontMatter} assets={assets} metadata={metadata} isBlogPostPage>
|
|
74
|
+
<BlogPostContents />
|
|
75
|
+
</_BlogPostItem.default>
|
|
76
|
+
|
|
77
|
+
{(nextItem || prevItem) && <_BlogPostPaginator.default nextItem={nextItem} prevItem={prevItem} />}
|
|
78
|
+
</_BlogLayout.default>;
|
|
66
79
|
}
|
|
67
80
|
|
|
68
81
|
var _default = BlogPostPage;
|
|
@@ -34,10 +34,10 @@
|
|
|
34
34
|
text-decoration: none;
|
|
35
35
|
}
|
|
36
36
|
.sidebarItemLinkActive {
|
|
37
|
-
color: var(--ifm-color-primary);
|
|
37
|
+
color: var(--ifm-color-primary) !important;
|
|
38
38
|
}
|
|
39
39
|
|
|
40
|
-
@media
|
|
40
|
+
@media (max-width: 996px) {
|
|
41
41
|
.sidebar {
|
|
42
42
|
display: none;
|
|
43
43
|
}
|
|
@@ -7,13 +7,9 @@ exports.default = void 0;
|
|
|
7
7
|
|
|
8
8
|
var _react = _interopRequireDefault(require("react"));
|
|
9
9
|
|
|
10
|
-
var
|
|
10
|
+
var _BlogLayout = _interopRequireDefault(require("@theme/BlogLayout"));
|
|
11
11
|
|
|
12
|
-
var
|
|
13
|
-
|
|
14
|
-
var _BlogSidebar = _interopRequireDefault(require("@theme/BlogSidebar"));
|
|
15
|
-
|
|
16
|
-
var _Translate = require("@docusaurus/Translate");
|
|
12
|
+
var _TagsListByLetter = _interopRequireDefault(require("@theme/TagsListByLetter"));
|
|
17
13
|
|
|
18
14
|
var _themeCommon = require("@docusaurus/theme-common");
|
|
19
15
|
|
|
@@ -25,51 +21,19 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
25
21
|
* This source code is licensed under the MIT license found in the
|
|
26
22
|
* LICENSE file in the root directory of this source tree.
|
|
27
23
|
*/
|
|
28
|
-
function getCategoryOfTag(tag) {
|
|
29
|
-
// tag's category should be customizable
|
|
30
|
-
return tag[0].toUpperCase();
|
|
31
|
-
}
|
|
32
|
-
|
|
33
24
|
function BlogTagsListPage(props) {
|
|
34
25
|
const {
|
|
35
26
|
tags,
|
|
36
27
|
sidebar
|
|
37
28
|
} = props;
|
|
38
|
-
const title = (0,
|
|
39
|
-
|
|
40
|
-
message: 'Tags',
|
|
41
|
-
description: 'The title of the tag list page'
|
|
42
|
-
});
|
|
43
|
-
const tagCategories = {};
|
|
44
|
-
Object.keys(tags).forEach(tag => {
|
|
45
|
-
const category = getCategoryOfTag(tag);
|
|
46
|
-
tagCategories[category] = tagCategories[category] || [];
|
|
47
|
-
tagCategories[category].push(tag);
|
|
48
|
-
});
|
|
49
|
-
const tagsList = Object.entries(tagCategories).sort(([a], [b]) => a.localeCompare(b));
|
|
50
|
-
const tagsSection = tagsList.map(([category, tagsForCategory]) => <article key={category}>
|
|
51
|
-
<h2>{category}</h2>
|
|
52
|
-
{tagsForCategory.map(tag => <_Link.default className="padding-right--md" href={tags[tag].permalink} key={tag}>
|
|
53
|
-
{tags[tag].name} ({tags[tag].count})
|
|
54
|
-
</_Link.default>)}
|
|
55
|
-
<hr />
|
|
56
|
-
</article>).filter(item => item != null);
|
|
57
|
-
return <_Layout.default title={title} wrapperClassName={_themeCommon.ThemeClassNames.wrapper.blogPages} pageClassName={_themeCommon.ThemeClassNames.page.blogTagsListPage} searchMetadatas={{
|
|
29
|
+
const title = (0, _themeCommon.translateTagsPageTitle)();
|
|
30
|
+
return <_BlogLayout.default title={title} wrapperClassName={_themeCommon.ThemeClassNames.wrapper.blogPages} pageClassName={_themeCommon.ThemeClassNames.page.blogTagsListPage} searchMetadatas={{
|
|
58
31
|
// assign unique search tag to exclude this page from search results!
|
|
59
32
|
tag: 'blog_tags_list'
|
|
60
|
-
}}>
|
|
61
|
-
<
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
<_BlogSidebar.default sidebar={sidebar} />
|
|
65
|
-
</aside>
|
|
66
|
-
<main className="col col--7">
|
|
67
|
-
<h1>{title}</h1>
|
|
68
|
-
<section className="margin-vert--lg">{tagsSection}</section>
|
|
69
|
-
</main>
|
|
70
|
-
</div>
|
|
71
|
-
</div>
|
|
72
|
-
</_Layout.default>;
|
|
33
|
+
}} sidebar={sidebar}>
|
|
34
|
+
<h1>{title}</h1>
|
|
35
|
+
<_TagsListByLetter.default tags={Object.values(tags)} />
|
|
36
|
+
</_BlogLayout.default>;
|
|
73
37
|
}
|
|
74
38
|
|
|
75
39
|
var _default = BlogTagsListPage;
|
|
@@ -3,17 +3,15 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.default =
|
|
6
|
+
exports.default = BlogTagsPostsPage;
|
|
7
7
|
|
|
8
8
|
var _react = _interopRequireDefault(require("react"));
|
|
9
9
|
|
|
10
|
-
var _Layout = _interopRequireDefault(require("@theme/Layout"));
|
|
11
|
-
|
|
12
|
-
var _BlogPostItem = _interopRequireDefault(require("@theme/BlogPostItem"));
|
|
13
|
-
|
|
14
10
|
var _Link = _interopRequireDefault(require("@docusaurus/Link"));
|
|
15
11
|
|
|
16
|
-
var
|
|
12
|
+
var _BlogLayout = _interopRequireDefault(require("@theme/BlogLayout"));
|
|
13
|
+
|
|
14
|
+
var _BlogPostItem = _interopRequireDefault(require("@theme/BlogPostItem"));
|
|
17
15
|
|
|
18
16
|
var _Translate = _interopRequireWildcard(require("@docusaurus/Translate"));
|
|
19
17
|
|
|
@@ -45,7 +43,7 @@ function useBlogPostsPlural() {
|
|
|
45
43
|
}));
|
|
46
44
|
}
|
|
47
45
|
|
|
48
|
-
function
|
|
46
|
+
function BlogTagsPostsPage(props) {
|
|
49
47
|
const {
|
|
50
48
|
metadata,
|
|
51
49
|
items,
|
|
@@ -65,36 +63,24 @@ function BlogTagsPostPage(props) {
|
|
|
65
63
|
nPosts: blogPostsPlural(count),
|
|
66
64
|
tagName
|
|
67
65
|
});
|
|
68
|
-
return <
|
|
66
|
+
return <_BlogLayout.default title={title} wrapperClassName={_themeCommon.ThemeClassNames.wrapper.blogPages} pageClassName={_themeCommon.ThemeClassNames.page.blogTagPostListPage} searchMetadatas={{
|
|
69
67
|
// assign unique search tag to exclude this page from search results!
|
|
70
68
|
tag: 'blog_tags_posts'
|
|
71
|
-
}}>
|
|
72
|
-
<
|
|
73
|
-
<
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
content: BlogPostContent
|
|
90
|
-
}) => <_BlogPostItem.default key={BlogPostContent.metadata.permalink} frontMatter={BlogPostContent.frontMatter} metadata={BlogPostContent.metadata} truncated>
|
|
91
|
-
<BlogPostContent />
|
|
92
|
-
</_BlogPostItem.default>)}
|
|
93
|
-
</main>
|
|
94
|
-
</div>
|
|
95
|
-
</div>
|
|
96
|
-
</_Layout.default>;
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
var _default = BlogTagsPostPage;
|
|
100
|
-
exports.default = _default;
|
|
69
|
+
}} sidebar={sidebar}>
|
|
70
|
+
<header className="margin-bottom--xl">
|
|
71
|
+
<h1>{title}</h1>
|
|
72
|
+
|
|
73
|
+
<_Link.default href={allTagsPath}>
|
|
74
|
+
<_Translate.default id="theme.tags.tagsPageLink" description="The label of the link targeting the tag list page">
|
|
75
|
+
View All Tags
|
|
76
|
+
</_Translate.default>
|
|
77
|
+
</_Link.default>
|
|
78
|
+
</header>
|
|
79
|
+
|
|
80
|
+
{items.map(({
|
|
81
|
+
content: BlogPostContent
|
|
82
|
+
}) => <_BlogPostItem.default key={BlogPostContent.metadata.permalink} frontMatter={BlogPostContent.frontMatter} assets={BlogPostContent.assets} metadata={BlogPostContent.metadata} truncated>
|
|
83
|
+
<BlogPostContent />
|
|
84
|
+
</_BlogPostItem.default>)}
|
|
85
|
+
</_BlogLayout.default>;
|
|
86
|
+
}
|
|
@@ -35,36 +35,43 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
|
35
35
|
* This source code is licensed under the MIT license found in the
|
|
36
36
|
* LICENSE file in the root directory of this source tree.
|
|
37
37
|
*/
|
|
38
|
-
const
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
}; // supported directives
|
|
38
|
+
const HighlightLinesRangeRegex = /{([\d,-]+)}/;
|
|
39
|
+
const HighlightLanguages = ['js', 'jsBlock', 'jsx', 'python', 'html'];
|
|
40
|
+
// Supported types of highlight comments
|
|
41
|
+
const HighlightComments = {
|
|
42
|
+
js: {
|
|
43
|
+
start: '\\/\\/',
|
|
44
|
+
end: ''
|
|
45
|
+
},
|
|
46
|
+
jsBlock: {
|
|
47
|
+
start: '\\/\\*',
|
|
48
|
+
end: '\\*\\/'
|
|
49
|
+
},
|
|
50
|
+
jsx: {
|
|
51
|
+
start: '\\{\\s*\\/\\*',
|
|
52
|
+
end: '\\*\\/\\s*\\}'
|
|
53
|
+
},
|
|
54
|
+
python: {
|
|
55
|
+
start: '#',
|
|
56
|
+
end: ''
|
|
57
|
+
},
|
|
58
|
+
html: {
|
|
59
|
+
start: '<!--',
|
|
60
|
+
end: '-->'
|
|
61
|
+
}
|
|
62
|
+
}; // Supported highlight directives
|
|
64
63
|
|
|
65
|
-
|
|
64
|
+
const HighlightDirectives = ['highlight-next-line', 'highlight-start', 'highlight-end'];
|
|
66
65
|
|
|
67
|
-
|
|
66
|
+
const getHighlightDirectiveRegex = (languages = HighlightLanguages) => {
|
|
67
|
+
// to be more reliable, the opening and closing comment must match
|
|
68
|
+
const commentPattern = languages.map(lang => {
|
|
69
|
+
const {
|
|
70
|
+
start,
|
|
71
|
+
end
|
|
72
|
+
} = HighlightComments[lang];
|
|
73
|
+
return `(?:${start}\\s*(${HighlightDirectives.join('|')})\\s*${end})`;
|
|
74
|
+
}).join('|'); // white space is allowed, but otherwise it should be on it's own line
|
|
68
75
|
|
|
69
76
|
return new RegExp(`^\\s*(?:${commentPattern})\\s*$`);
|
|
70
77
|
}; // select comment styles based on language
|
|
@@ -97,7 +104,7 @@ const highlightDirectiveRegex = lang => {
|
|
|
97
104
|
|
|
98
105
|
function CodeBlock({
|
|
99
106
|
children,
|
|
100
|
-
className:
|
|
107
|
+
className: blockClassName,
|
|
101
108
|
metastring,
|
|
102
109
|
title
|
|
103
110
|
}) {
|
|
@@ -126,16 +133,14 @@ function CodeBlock({
|
|
|
126
133
|
|
|
127
134
|
const content = Array.isArray(children) ? children.join('') : children;
|
|
128
135
|
|
|
129
|
-
if (metastring &&
|
|
136
|
+
if (metastring && HighlightLinesRangeRegex.test(metastring)) {
|
|
130
137
|
// Tested above
|
|
131
|
-
|
|
132
|
-
const highlightLinesRange = metastring.match(highlightLinesRangeRegex)[1];
|
|
138
|
+
const highlightLinesRange = metastring.match(HighlightLinesRangeRegex)[1];
|
|
133
139
|
highlightLines = (0, _parseNumericRange.default)(highlightLinesRange).filter(n => n > 0);
|
|
134
140
|
}
|
|
135
141
|
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
languageClassName.replace(/language-/, '');
|
|
142
|
+
const languageClassName = blockClassName === null || blockClassName === void 0 ? void 0 : blockClassName.split(' ').find(str => str.startsWith('language-'));
|
|
143
|
+
let language = languageClassName === null || languageClassName === void 0 ? void 0 : languageClassName.replace(/language-/, '');
|
|
139
144
|
|
|
140
145
|
if (!language && prism.defaultLanguage) {
|
|
141
146
|
language = prism.defaultLanguage;
|
|
@@ -201,20 +206,18 @@ function CodeBlock({
|
|
|
201
206
|
tokens,
|
|
202
207
|
getLineProps,
|
|
203
208
|
getTokenProps
|
|
204
|
-
}) => <div className={_stylesModule.default.codeBlockContainer}>
|
|
209
|
+
}) => <div className={(0, _clsx.default)(_stylesModule.default.codeBlockContainer, blockClassName === null || blockClassName === void 0 ? void 0 : blockClassName.replace(/language-[^ ]+/, ''))}>
|
|
205
210
|
{codeBlockTitle && <div style={style} className={_stylesModule.default.codeBlockTitle}>
|
|
206
211
|
{codeBlockTitle}
|
|
207
212
|
</div>}
|
|
208
213
|
<div className={(0, _clsx.default)(_stylesModule.default.codeBlockContent, language)}>
|
|
209
214
|
<pre
|
|
210
215
|
/* eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex */
|
|
211
|
-
tabIndex={0} className={(0, _clsx.default)(className, _stylesModule.default.codeBlock, 'thin-scrollbar'
|
|
212
|
-
[_stylesModule.default.codeBlockWithTitle]: codeBlockTitle
|
|
213
|
-
})} style={style}>
|
|
216
|
+
tabIndex={0} className={(0, _clsx.default)(className, _stylesModule.default.codeBlock, 'thin-scrollbar')} style={style}>
|
|
214
217
|
<code className={_stylesModule.default.codeBlockLines}>
|
|
215
218
|
{tokens.map((line, i) => {
|
|
216
|
-
if (line.length === 1 && line[0].content === '') {
|
|
217
|
-
line[0].content = '
|
|
219
|
+
if (line.length === 1 && line[0].content === '\n') {
|
|
220
|
+
line[0].content = '';
|
|
218
221
|
}
|
|
219
222
|
|
|
220
223
|
const lineProps = getLineProps({
|
|
@@ -231,6 +234,7 @@ function CodeBlock({
|
|
|
231
234
|
token,
|
|
232
235
|
key
|
|
233
236
|
})} />)}
|
|
237
|
+
<br />
|
|
234
238
|
</span>;
|
|
235
239
|
})}
|
|
236
240
|
</code>
|
|
@@ -7,6 +7,9 @@
|
|
|
7
7
|
|
|
8
8
|
.codeBlockContainer {
|
|
9
9
|
margin-bottom: var(--ifm-leading);
|
|
10
|
+
border-radius: var(--ifm-global-radius);
|
|
11
|
+
box-shadow: var(--ifm-global-shadow-lw);
|
|
12
|
+
overflow: hidden;
|
|
10
13
|
}
|
|
11
14
|
|
|
12
15
|
.codeBlockContent {
|
|
@@ -16,8 +19,6 @@
|
|
|
16
19
|
}
|
|
17
20
|
|
|
18
21
|
.codeBlockTitle {
|
|
19
|
-
border-top-left-radius: var(--ifm-global-radius);
|
|
20
|
-
border-top-right-radius: var(--ifm-global-radius);
|
|
21
22
|
border-bottom: 1px solid var(--ifm-color-emphasis-300);
|
|
22
23
|
font-size: var(--ifm-code-font-size);
|
|
23
24
|
font-weight: 500;
|
|
@@ -25,12 +26,9 @@
|
|
|
25
26
|
}
|
|
26
27
|
|
|
27
28
|
.codeBlock {
|
|
29
|
+
margin: 0;
|
|
28
30
|
padding: 0;
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
.codeBlockWithTitle {
|
|
32
|
-
border-top-left-radius: 0;
|
|
33
|
-
border-top-right-radius: 0;
|
|
31
|
+
border-radius: 0;
|
|
34
32
|
}
|
|
35
33
|
|
|
36
34
|
.copyButton {
|
|
@@ -54,11 +52,10 @@
|
|
|
54
52
|
|
|
55
53
|
.codeBlockLines {
|
|
56
54
|
font: inherit;
|
|
55
|
+
/*rtl:ignore*/
|
|
57
56
|
float: left;
|
|
58
57
|
min-width: 100%;
|
|
59
58
|
padding: var(--ifm-pre-padding);
|
|
60
|
-
display: flex;
|
|
61
|
-
flex-direction: column;
|
|
62
59
|
}
|
|
63
60
|
|
|
64
61
|
@media print {
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = Details;
|
|
7
|
+
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
|
|
10
|
+
var _clsx = _interopRequireDefault(require("clsx"));
|
|
11
|
+
|
|
12
|
+
var _themeCommon = require("@docusaurus/theme-common");
|
|
13
|
+
|
|
14
|
+
var _stylesModule = _interopRequireDefault(require("./styles.module.css"));
|
|
15
|
+
|
|
16
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
20
|
+
*
|
|
21
|
+
* This source code is licensed under the MIT license found in the
|
|
22
|
+
* LICENSE file in the root directory of this source tree.
|
|
23
|
+
*/
|
|
24
|
+
// Should we have a custom details/summary comp in Infima instead of reusing alert classes?
|
|
25
|
+
const InfimaClasses = 'alert alert--info';
|
|
26
|
+
|
|
27
|
+
function Details({ ...props
|
|
28
|
+
}) {
|
|
29
|
+
return <_themeCommon.Details {...props} className={(0, _clsx.default)(InfimaClasses, _stylesModule.default.details, props.className)} />;
|
|
30
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
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
|
+
.details {
|
|
9
|
+
--docusaurus-details-decoration-color: var(--ifm-alert-border-color);
|
|
10
|
+
--docusaurus-details-transition: transform var(--ifm-transition-fast) ease;
|
|
11
|
+
margin: 0 0 var(--ifm-spacing-vertical);
|
|
12
|
+
border: 1px solid var(--ifm-alert-border-color);
|
|
13
|
+
}
|
|
@@ -3,29 +3,31 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.default =
|
|
6
|
+
exports.default = DocItem;
|
|
7
7
|
|
|
8
8
|
var _react = _interopRequireDefault(require("react"));
|
|
9
9
|
|
|
10
|
+
var _clsx = _interopRequireDefault(require("clsx"));
|
|
11
|
+
|
|
12
|
+
var _useWindowSize = _interopRequireDefault(require("@theme/hooks/useWindowSize"));
|
|
13
|
+
|
|
10
14
|
var _DocPaginator = _interopRequireDefault(require("@theme/DocPaginator"));
|
|
11
15
|
|
|
12
|
-
var
|
|
16
|
+
var _DocVersionBanner = _interopRequireDefault(require("@theme/DocVersionBanner"));
|
|
13
17
|
|
|
14
18
|
var _Seo = _interopRequireDefault(require("@theme/Seo"));
|
|
15
19
|
|
|
16
|
-
var
|
|
20
|
+
var _DocItemFooter = _interopRequireDefault(require("@theme/DocItemFooter"));
|
|
17
21
|
|
|
18
22
|
var _TOC = _interopRequireDefault(require("@theme/TOC"));
|
|
19
23
|
|
|
20
|
-
var
|
|
24
|
+
var _TOCCollapsible = _interopRequireDefault(require("@theme/TOCCollapsible"));
|
|
21
25
|
|
|
22
26
|
var _Heading = require("@theme/Heading");
|
|
23
27
|
|
|
24
|
-
var _clsx = _interopRequireDefault(require("clsx"));
|
|
25
|
-
|
|
26
28
|
var _stylesModule = _interopRequireDefault(require("./styles.module.css"));
|
|
27
29
|
|
|
28
|
-
var
|
|
30
|
+
var _themeCommon = require("@docusaurus/theme-common");
|
|
29
31
|
|
|
30
32
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
31
33
|
|
|
@@ -37,7 +39,8 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
37
39
|
*/
|
|
38
40
|
function DocItem(props) {
|
|
39
41
|
const {
|
|
40
|
-
content: DocContent
|
|
42
|
+
content: DocContent,
|
|
43
|
+
versionMetadata
|
|
41
44
|
} = props;
|
|
42
45
|
const {
|
|
43
46
|
metadata,
|
|
@@ -47,31 +50,21 @@ function DocItem(props) {
|
|
|
47
50
|
image,
|
|
48
51
|
keywords,
|
|
49
52
|
hide_title: hideTitle,
|
|
50
|
-
hide_table_of_contents: hideTableOfContents
|
|
53
|
+
hide_table_of_contents: hideTableOfContents,
|
|
54
|
+
toc_min_heading_level: tocMinHeadingLevel,
|
|
55
|
+
toc_max_heading_level: tocMaxHeadingLevel
|
|
51
56
|
} = frontMatter;
|
|
52
57
|
const {
|
|
53
58
|
description,
|
|
54
|
-
title
|
|
55
|
-
|
|
56
|
-
lastUpdatedAt,
|
|
57
|
-
formattedLastUpdatedAt,
|
|
58
|
-
lastUpdatedBy
|
|
59
|
-
} = metadata;
|
|
60
|
-
const {
|
|
61
|
-
pluginId
|
|
62
|
-
} = (0, _useDocs.useActivePlugin)({
|
|
63
|
-
failfast: true
|
|
64
|
-
});
|
|
65
|
-
const versions = (0, _useDocs.useVersions)(pluginId);
|
|
66
|
-
const version = (0, _useDocs.useActiveVersion)(pluginId); // If site is not versioned or only one version is included
|
|
67
|
-
// we don't show the version badge
|
|
68
|
-
// See https://github.com/facebook/docusaurus/issues/3362
|
|
69
|
-
|
|
70
|
-
const showVersionBadge = versions.length > 1; // We only add a title if:
|
|
59
|
+
title
|
|
60
|
+
} = metadata; // We only add a title if:
|
|
71
61
|
// - user asks to hide it with frontmatter
|
|
72
62
|
// - the markdown content does not already contain a top-level h1 heading
|
|
73
63
|
|
|
74
64
|
const shouldAddTitle = !hideTitle && typeof DocContent.contentTitle === 'undefined';
|
|
65
|
+
const windowSize = (0, _useWindowSize.default)();
|
|
66
|
+
const canRenderTOC = !hideTableOfContents && DocContent.toc && DocContent.toc.length > 0;
|
|
67
|
+
const renderTocDesktop = canRenderTOC && (windowSize === 'desktop' || windowSize === 'ssr');
|
|
75
68
|
return <>
|
|
76
69
|
<_Seo.default {...{
|
|
77
70
|
title,
|
|
@@ -84,14 +77,16 @@ function DocItem(props) {
|
|
|
84
77
|
<div className={(0, _clsx.default)('col', {
|
|
85
78
|
[_stylesModule.default.docItemCol]: !hideTableOfContents
|
|
86
79
|
})}>
|
|
87
|
-
<
|
|
80
|
+
<_DocVersionBanner.default versionMetadata={versionMetadata} />
|
|
88
81
|
<div className={_stylesModule.default.docItemContainer}>
|
|
89
82
|
<article>
|
|
90
|
-
{
|
|
91
|
-
Version: {
|
|
83
|
+
{versionMetadata.badge && <span className={(0, _clsx.default)(_themeCommon.ThemeClassNames.docs.docVersionBadge, 'badge badge--secondary')}>
|
|
84
|
+
Version: {versionMetadata.label}
|
|
92
85
|
</span>}
|
|
93
86
|
|
|
94
|
-
<
|
|
87
|
+
{canRenderTOC && <_TOCCollapsible.default toc={DocContent.toc} minHeadingLevel={tocMinHeadingLevel} maxHeadingLevel={tocMaxHeadingLevel} className={(0, _clsx.default)(_themeCommon.ThemeClassNames.docs.docTocMobile, _stylesModule.default.tocMobile)} />}
|
|
88
|
+
|
|
89
|
+
<div className={(0, _clsx.default)(_themeCommon.ThemeClassNames.docs.docMarkdown, 'markdown')}>
|
|
95
90
|
{
|
|
96
91
|
/*
|
|
97
92
|
Title can be declared inside md content or declared through frontmatter and added manually
|
|
@@ -104,26 +99,15 @@ function DocItem(props) {
|
|
|
104
99
|
<DocContent />
|
|
105
100
|
</div>
|
|
106
101
|
|
|
107
|
-
|
|
108
|
-
<div className="col">
|
|
109
|
-
{editUrl && <_EditThisPage.default editUrl={editUrl} />}
|
|
110
|
-
</div>
|
|
111
|
-
|
|
112
|
-
<div className={(0, _clsx.default)('col', _stylesModule.default.lastUpdated)}>
|
|
113
|
-
{(lastUpdatedAt || lastUpdatedBy) && <_LastUpdated.default lastUpdatedAt={lastUpdatedAt} formattedLastUpdatedAt={formattedLastUpdatedAt} lastUpdatedBy={lastUpdatedBy} />}
|
|
114
|
-
</div>
|
|
115
|
-
</footer>}
|
|
102
|
+
<_DocItemFooter.default {...props} />
|
|
116
103
|
</article>
|
|
117
104
|
|
|
118
105
|
<_DocPaginator.default metadata={metadata} />
|
|
119
106
|
</div>
|
|
120
107
|
</div>
|
|
121
|
-
{
|
|
122
|
-
<_TOC.default toc={DocContent.toc} />
|
|
108
|
+
{renderTocDesktop && <div className="col col--3">
|
|
109
|
+
<_TOC.default toc={DocContent.toc} minHeadingLevel={tocMinHeadingLevel} maxHeadingLevel={tocMaxHeadingLevel} className={_themeCommon.ThemeClassNames.docs.docTocDesktop} />
|
|
123
110
|
</div>}
|
|
124
111
|
</div>
|
|
125
112
|
</>;
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
var _default = DocItem;
|
|
129
|
-
exports.default = _default;
|
|
113
|
+
}
|