@docusaurus/theme-classic 2.0.0-beta.13 → 2.0.0-beta.15
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/lib/index.js +7 -16
- package/lib/theme-classic.d.ts +111 -188
- package/lib/translations.js +13 -4
- package/lib/validateThemeConfig.js +18 -4
- package/lib-next/theme/Admonition/index.js +101 -0
- package/lib-next/theme/BackToTopButton/styles.module.css +1 -1
- package/lib-next/theme/BlogListPaginator/index.js +12 -12
- package/lib-next/theme/BlogPostAuthor/index.js +1 -1
- package/lib-next/theme/BlogPostAuthors/index.js +12 -2
- package/lib-next/theme/BlogPostAuthors/styles.module.css +10 -0
- package/lib-next/theme/BlogPostItem/index.js +12 -15
- package/lib-next/theme/BlogPostPage/index.js +10 -7
- package/lib-next/theme/BlogPostPaginator/index.js +11 -15
- package/lib-next/theme/BlogSidebar/styles.module.css +2 -0
- package/lib-next/theme/CodeBlock/index.js +51 -10
- package/lib-next/theme/CodeBlock/styles.module.css +18 -7
- package/lib-next/theme/DocCard/styles.module.css +3 -3
- package/lib-next/theme/DocCategoryGeneratedIndexPage/index.js +6 -3
- package/lib-next/theme/DocItem/index.js +9 -6
- package/lib-next/theme/DocItem/styles.module.css +2 -2
- package/lib-next/theme/DocPage/index.js +7 -3
- package/lib-next/theme/DocPage/styles.module.css +1 -0
- package/lib-next/theme/DocPaginator/index.js +11 -13
- package/lib-next/theme/DocSidebar/index.js +2 -2
- package/lib-next/theme/DocSidebar/styles.module.css +1 -0
- package/lib-next/theme/DocSidebarItem/index.js +43 -21
- package/lib-next/theme/DocSidebarItem/styles.module.css +1 -0
- package/lib-next/theme/DocSidebarItems/index.js +28 -0
- package/{lib/theme/DocSidebarItem → lib-next/theme/DocSidebarItems}/styles.module.css +1 -0
- package/lib-next/theme/DocVersionBanner/index.js +4 -1
- package/lib-next/theme/Footer/index.js +73 -35
- package/lib-next/theme/Footer/styles.module.css +2 -1
- package/lib-next/theme/Heading/index.js +39 -43
- package/lib-next/theme/Heading/styles.css +1 -1
- package/lib-next/theme/Layout/index.js +1 -2
- package/lib-next/theme/LayoutHead/index.js +5 -9
- package/lib-next/theme/LayoutProviders/index.js +6 -6
- package/lib-next/theme/MDXComponents/index.js +18 -31
- package/lib-next/theme/MDXComponents/styles.css +4 -0
- package/lib-next/theme/MDXPage/index.js +3 -10
- package/lib-next/theme/Navbar/index.js +6 -6
- package/lib-next/theme/NavbarItem/DefaultNavbarItem.js +4 -66
- package/lib-next/theme/NavbarItem/DocNavbarItem.js +5 -2
- package/lib-next/theme/NavbarItem/DocSidebarNavbarItem.js +73 -0
- package/lib-next/theme/NavbarItem/DocsVersionDropdownNavbarItem.js +5 -3
- package/lib-next/theme/NavbarItem/DocsVersionNavbarItem.js +4 -1
- package/lib-next/theme/NavbarItem/DropdownNavbarItem.js +6 -7
- package/lib-next/theme/NavbarItem/NavbarNavLink.js +70 -0
- package/lib-next/theme/NavbarItem/index.js +1 -2
- package/lib-next/theme/{UserPreferencesContext.js → NavbarItem/utils.js} +3 -3
- package/lib-next/theme/PaginatorNavLink/index.js +20 -0
- package/lib-next/theme/SkipToContent/index.js +1 -1
- package/lib-next/theme/SkipToContent/styles.module.css +7 -0
- package/lib-next/theme/TOCCollapsible/styles.module.css +2 -2
- package/lib-next/theme/Tabs/__tests__/index.test.js +8 -6
- package/lib-next/theme/Tabs/index.js +20 -10
- package/lib-next/theme/Tag/styles.module.css +4 -4
- package/lib-next/theme/ThemedImage/index.js +2 -2
- package/lib-next/theme/Toggle/styles.module.css +16 -15
- package/lib-next/theme/prism-include-languages.js +10 -3
- package/package.json +17 -19
- package/src/index.ts +12 -26
- package/src/theme/Admonition/index.tsx +106 -0
- package/src/theme/BackToTopButton/styles.module.css +1 -1
- package/src/theme/BlogListPaginator/index.tsx +12 -12
- package/src/theme/BlogPostAuthor/index.tsx +1 -1
- package/src/theme/BlogPostAuthors/index.tsx +12 -2
- package/src/theme/BlogPostAuthors/styles.module.css +10 -0
- package/src/theme/BlogPostItem/index.tsx +13 -15
- package/src/theme/BlogPostPage/index.tsx +10 -7
- package/src/theme/BlogPostPaginator/index.tsx +11 -15
- package/src/theme/BlogSidebar/styles.module.css +2 -0
- package/src/theme/CodeBlock/index.tsx +52 -11
- package/src/theme/CodeBlock/styles.module.css +18 -7
- package/src/theme/DocCard/index.tsx +2 -2
- package/src/theme/DocCard/styles.module.css +3 -3
- package/src/theme/DocCardList/index.tsx +1 -1
- package/src/theme/DocCategoryGeneratedIndexPage/index.tsx +7 -3
- package/src/theme/DocItem/index.tsx +9 -6
- package/src/theme/DocItem/styles.module.css +2 -2
- package/src/theme/DocItemFooter/index.tsx +1 -1
- package/src/theme/DocPage/index.tsx +8 -4
- package/src/theme/DocPage/styles.module.css +1 -0
- package/src/theme/DocPaginator/index.tsx +13 -15
- package/src/theme/DocSidebar/index.tsx +3 -3
- package/src/theme/DocSidebar/styles.module.css +1 -0
- package/src/theme/DocSidebarItem/index.tsx +34 -23
- package/src/theme/DocSidebarItem/styles.module.css +1 -0
- package/src/theme/DocSidebarItems/index.tsx +32 -0
- package/{lib/theme/DocItemFooter → src/theme/DocSidebarItems}/styles.module.css +10 -8
- package/src/theme/DocVersionBanner/index.tsx +3 -3
- package/src/theme/Footer/index.tsx +84 -38
- package/src/theme/Footer/styles.module.css +2 -1
- package/src/theme/Heading/index.tsx +39 -47
- package/src/theme/Heading/styles.css +1 -1
- package/src/theme/Layout/index.tsx +1 -2
- package/src/theme/LayoutHead/index.tsx +4 -8
- package/src/theme/LayoutProviders/index.tsx +6 -6
- package/src/theme/MDXComponents/index.tsx +26 -37
- package/src/theme/MDXComponents/styles.css +4 -0
- package/src/theme/MDXPage/index.tsx +3 -11
- package/src/theme/Navbar/index.tsx +7 -7
- package/src/theme/NavbarItem/DefaultNavbarItem.tsx +6 -62
- package/src/theme/NavbarItem/DocNavbarItem.tsx +8 -5
- package/src/theme/NavbarItem/DocSidebarNavbarItem.tsx +84 -0
- package/src/theme/NavbarItem/DocsVersionDropdownNavbarItem.tsx +9 -6
- package/src/theme/NavbarItem/DocsVersionNavbarItem.tsx +2 -2
- package/src/theme/NavbarItem/DropdownNavbarItem.tsx +6 -7
- package/src/theme/NavbarItem/NavbarNavLink.tsx +68 -0
- package/src/theme/NavbarItem/index.tsx +3 -5
- package/{lib-next/theme/hooks/styles.css → src/theme/NavbarItem/utils.ts} +3 -3
- package/src/theme/PaginatorNavLink/index.tsx +22 -0
- package/src/theme/SkipToContent/index.tsx +1 -1
- package/src/theme/SkipToContent/styles.module.css +7 -0
- package/src/theme/TOCCollapsible/styles.module.css +2 -2
- package/src/theme/TOCItems/index.tsx +2 -2
- package/src/theme/Tabs/index.tsx +25 -10
- package/src/theme/Tag/styles.module.css +4 -4
- package/src/theme/TagsListByLetter/index.tsx +1 -1
- package/src/theme/ThemedImage/index.tsx +2 -2
- package/src/theme/Toggle/index.tsx +1 -1
- package/src/theme/Toggle/styles.module.css +16 -15
- package/src/theme/prism-include-languages.ts +10 -3
- package/src/theme-classic.d.ts +111 -188
- package/src/translations.ts +36 -16
- package/src/validateThemeConfig.ts +25 -4
- package/babel.config.js +0 -35
- package/lib/__tests__/__snapshots__/translations.test.ts.snap +0 -116
- package/lib/__tests__/translations.test.js +0 -112
- package/lib/__tests__/validateThemeConfig.test.js +0 -607
- package/lib/theme/AnnouncementBar/index.js +0 -68
- package/lib/theme/AnnouncementBar/styles.module.css +0 -63
- package/lib/theme/BackToTopButton/index.js +0 -140
- package/lib/theme/BackToTopButton/styles.module.css +0 -42
- package/lib/theme/BlogArchivePage/index.js +0 -89
- package/lib/theme/BlogLayout/index.js +0 -51
- package/lib/theme/BlogListPage/index.js +0 -60
- package/lib/theme/BlogListPaginator/index.js +0 -63
- package/lib/theme/BlogPostAuthor/index.js +0 -51
- package/lib/theme/BlogPostAuthor/styles.module.css +0 -12
- package/lib/theme/BlogPostAuthors/index.js +0 -47
- package/lib/theme/BlogPostAuthors/styles.module.css +0 -11
- package/lib/theme/BlogPostItem/index.js +0 -152
- package/lib/theme/BlogPostItem/styles.module.css +0 -18
- package/lib/theme/BlogPostPage/index.js +0 -82
- package/lib/theme/BlogPostPaginator/index.js +0 -64
- package/lib/theme/BlogSidebar/index.js +0 -49
- package/lib/theme/BlogSidebar/styles.module.css +0 -44
- package/lib/theme/BlogTagsListPage/index.js +0 -40
- package/lib/theme/BlogTagsPostsPage/index.js +0 -86
- package/lib/theme/CodeBlock/index.js +0 -133
- package/lib/theme/CodeBlock/styles.module.css +0 -65
- package/lib/theme/Details/index.js +0 -30
- package/lib/theme/Details/styles.module.css +0 -13
- package/lib/theme/DocCard/index.js +0 -84
- package/lib/theme/DocCard/styles.module.css +0 -43
- package/lib/theme/DocCardList/index.js +0 -28
- package/lib/theme/DocCategoryGeneratedIndexPage/index.js +0 -57
- package/lib/theme/DocCategoryGeneratedIndexPage/styles.module.css +0 -18
- package/lib/theme/DocItem/index.js +0 -112
- package/lib/theme/DocItem/styles.module.css +0 -22
- package/lib/theme/DocItemFooter/index.js +0 -79
- package/lib/theme/DocPage/index.js +0 -154
- package/lib/theme/DocPage/styles.module.css +0 -85
- package/lib/theme/DocPaginator/index.js +0 -62
- package/lib/theme/DocSidebar/index.js +0 -134
- package/lib/theme/DocSidebar/styles.module.css +0 -106
- package/lib/theme/DocSidebarItem/index.js +0 -209
- package/lib/theme/DocTagDocListPage/index.js +0 -89
- package/lib/theme/DocTagsListPage/index.js +0 -44
- package/lib/theme/DocVersionBadge/index.js +0 -34
- package/lib/theme/DocVersionBanner/index.js +0 -130
- package/lib/theme/EditThisPage/index.js +0 -33
- package/lib/theme/ErrorPageContent.js +0 -43
- package/lib/theme/Footer/index.js +0 -119
- package/lib/theme/Footer/styles.module.css +0 -15
- package/lib/theme/Heading/index.js +0 -71
- package/lib/theme/Heading/styles.css +0 -22
- package/lib/theme/Heading/styles.module.css +0 -19
- package/lib/theme/IconArrow/index.js +0 -28
- package/lib/theme/IconClose/index.js +0 -31
- package/lib/theme/IconEdit/index.js +0 -34
- package/lib/theme/IconEdit/styles.module.css +0 -11
- package/lib/theme/IconExternalLink/index.js +0 -30
- package/lib/theme/IconExternalLink/styles.module.css +0 -12
- package/lib/theme/IconLanguage/index.js +0 -29
- package/lib/theme/IconMenu/index.js +0 -30
- package/lib/theme/LastUpdated/index.js +0 -63
- package/lib/theme/Layout/index.js +0 -68
- package/lib/theme/Layout/styles.css +0 -27
- package/lib/theme/LayoutHead/index.js +0 -149
- package/lib/theme/LayoutProviders/index.js +0 -40
- package/lib/theme/Logo/index.js +0 -62
- package/lib/theme/MDXComponents/index.js +0 -106
- package/lib/theme/MDXComponents/styles.css +0 -11
- package/lib/theme/MDXPage/index.js +0 -67
- package/lib/theme/MDXPage/styles.module.css +0 -10
- package/lib/theme/Navbar/index.js +0 -267
- package/lib/theme/Navbar/styles.module.css +0 -27
- package/lib/theme/NavbarItem/DefaultNavbarItem.js +0 -113
- package/lib/theme/NavbarItem/DocNavbarItem.js +0 -62
- package/lib/theme/NavbarItem/DocsVersionDropdownNavbarItem.js +0 -83
- package/lib/theme/NavbarItem/DocsVersionNavbarItem.js +0 -43
- package/lib/theme/NavbarItem/DropdownNavbarItem.js +0 -155
- package/lib/theme/NavbarItem/LocaleDropdownNavbarItem/index.js +0 -68
- package/lib/theme/NavbarItem/LocaleDropdownNavbarItem/styles.module.css +0 -11
- package/lib/theme/NavbarItem/SearchNavbarItem.js +0 -28
- package/lib/theme/NavbarItem/index.js +0 -74
- package/lib/theme/NotFound.js +0 -57
- package/lib/theme/SearchBar.js +0 -15
- package/lib/theme/SearchMetadata/index.js +0 -33
- package/lib/theme/Seo/index.js +0 -52
- package/lib/theme/SkipToContent/index.js +0 -71
- package/lib/theme/SkipToContent/styles.module.css +0 -14
- package/lib/theme/TOC/index.js +0 -39
- package/lib/theme/TOC/styles.module.css +0 -23
- package/lib/theme/TOCCollapsible/index.js +0 -53
- package/lib/theme/TOCCollapsible/styles.module.css +0 -50
- package/lib/theme/TOCInline/index.js +0 -33
- package/lib/theme/TOCInline/styles.module.css +0 -12
- package/lib/theme/TOCItems/index.js +0 -78
- package/lib/theme/TabItem/index.js +0 -32
- package/lib/theme/Tabs/__tests__/index.test.js +0 -123
- package/lib/theme/Tabs/index.js +0 -173
- package/lib/theme/Tabs/styles.module.css +0 -10
- package/lib/theme/Tag/index.js +0 -40
- package/lib/theme/Tag/styles.module.css +0 -70
- package/lib/theme/TagsListByLetter/index.js +0 -48
- package/lib/theme/TagsListByLetter/styles.module.css +0 -11
- package/lib/theme/TagsListInline/index.js +0 -44
- package/lib/theme/TagsListInline/styles.module.css +0 -15
- package/lib/theme/ThemeContext.js +0 -21
- package/lib/theme/ThemeProvider/index.js +0 -43
- package/lib/theme/ThemedImage/index.js +0 -47
- package/lib/theme/ThemedImage/styles.module.css +0 -18
- package/lib/theme/Toggle/index.js +0 -91
- package/lib/theme/Toggle/styles.module.css +0 -105
- package/lib/theme/UserPreferencesContext.js +0 -18
- package/lib/theme/UserPreferencesProvider/index.js +0 -41
- package/lib/theme/hooks/styles.css +0 -10
- package/lib/theme/hooks/useDocs.js +0 -18
- package/lib/theme/hooks/useHideableNavbar.js +0 -74
- package/lib/theme/hooks/useKeyboardNavigation.js +0 -45
- package/lib/theme/hooks/useLocationHash.js +0 -28
- package/lib/theme/hooks/useLockBodyScroll.js +0 -26
- package/lib/theme/hooks/usePrismTheme.js +0 -36
- package/lib/theme/hooks/useTabGroupChoice.js +0 -51
- package/lib/theme/hooks/useTheme.js +0 -97
- package/lib/theme/hooks/useThemeContext.js +0 -31
- package/lib/theme/hooks/useUserPreferencesContext.js +0 -31
- package/lib/theme/hooks/useWindowSize.js +0 -68
- package/lib/theme/prism-include-languages.js +0 -40
- package/lib-next/__tests__/__snapshots__/translations.test.ts.snap +0 -116
- package/lib-next/__tests__/translations.test.js +0 -128
- package/lib-next/__tests__/validateThemeConfig.test.js +0 -607
- package/lib-next/admonitions.css +0 -35
- package/lib-next/deps.d.ts +0 -13
- package/lib-next/index.js +0 -227
- package/lib-next/prism-include-languages.js +0 -9
- package/lib-next/theme/ThemeContext.js +0 -9
- package/lib-next/theme/ThemeProvider/index.js +0 -28
- package/lib-next/theme/UserPreferencesProvider/index.js +0 -27
- package/lib-next/theme/hooks/useDocs.js +0 -10
- package/lib-next/theme/hooks/useHideableNavbar.js +0 -66
- package/lib-next/theme/hooks/useKeyboardNavigation.js +0 -35
- package/lib-next/theme/hooks/useLocationHash.js +0 -20
- package/lib-next/theme/hooks/useLockBodyScroll.js +0 -18
- package/lib-next/theme/hooks/usePrismTheme.js +0 -20
- package/lib-next/theme/hooks/useTabGroupChoice.js +0 -39
- package/lib-next/theme/hooks/useTheme.js +0 -81
- package/lib-next/theme/hooks/useThemeContext.js +0 -22
- package/lib-next/theme/hooks/useUserPreferencesContext.js +0 -22
- package/lib-next/theme/hooks/useWindowSize.js +0 -59
- package/lib-next/theme-classic.d.ts +0 -806
- package/lib-next/translations.js +0 -141
- package/lib-next/types.d.ts +0 -11
- package/lib-next/validateThemeConfig.js +0 -344
- package/src/__tests__/__snapshots__/translations.test.ts.snap +0 -116
- package/src/__tests__/translations.test.ts +0 -116
- package/src/__tests__/validateThemeConfig.test.js +0 -607
- package/src/theme/Tabs/__tests__/index.test.tsx +0 -129
- package/src/theme/ThemeContext.ts +0 -15
- package/src/theme/ThemeProvider/index.tsx +0 -28
- package/src/theme/UserPreferencesContext.ts +0 -12
- package/src/theme/UserPreferencesProvider/index.tsx +0 -30
- package/src/theme/hooks/styles.css +0 -10
- package/src/theme/hooks/useDocs.ts +0 -11
- package/src/theme/hooks/useHideableNavbar.ts +0 -72
- package/src/theme/hooks/useKeyboardNavigation.ts +0 -39
- package/src/theme/hooks/useLocationHash.ts +0 -25
- package/src/theme/hooks/useLockBodyScroll.ts +0 -20
- package/src/theme/hooks/usePrismTheme.ts +0 -22
- package/src/theme/hooks/useTabGroupChoice.ts +0 -46
- package/src/theme/hooks/useTheme.ts +0 -91
- package/src/theme/hooks/useThemeContext.ts +0 -23
- package/src/theme/hooks/useUserPreferencesContext.ts +0 -25
- package/src/theme/hooks/useWindowSize.ts +0 -69
- package/tsconfig.json +0 -11
|
@@ -1,152 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
|
|
8
|
-
var _react = _interopRequireDefault(require("react"));
|
|
9
|
-
|
|
10
|
-
var _clsx = _interopRequireDefault(require("clsx"));
|
|
11
|
-
|
|
12
|
-
var _react2 = require("@mdx-js/react");
|
|
13
|
-
|
|
14
|
-
var _Translate = _interopRequireWildcard(require("@docusaurus/Translate"));
|
|
15
|
-
|
|
16
|
-
var _Link = _interopRequireDefault(require("@docusaurus/Link"));
|
|
17
|
-
|
|
18
|
-
var _useBaseUrl = require("@docusaurus/useBaseUrl");
|
|
19
|
-
|
|
20
|
-
var _themeCommon = require("@docusaurus/theme-common");
|
|
21
|
-
|
|
22
|
-
var _MDXComponents = _interopRequireDefault(require("@theme/MDXComponents"));
|
|
23
|
-
|
|
24
|
-
var _EditThisPage = _interopRequireDefault(require("@theme/EditThisPage"));
|
|
25
|
-
|
|
26
|
-
var _stylesModule = _interopRequireDefault(require("./styles.module.css"));
|
|
27
|
-
|
|
28
|
-
var _TagsListInline = _interopRequireDefault(require("@theme/TagsListInline"));
|
|
29
|
-
|
|
30
|
-
var _BlogPostAuthors = _interopRequireDefault(require("@theme/BlogPostAuthors"));
|
|
31
|
-
|
|
32
|
-
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
33
|
-
|
|
34
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
35
|
-
|
|
36
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
37
|
-
|
|
38
|
-
/**
|
|
39
|
-
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
40
|
-
*
|
|
41
|
-
* This source code is licensed under the MIT license found in the
|
|
42
|
-
* LICENSE file in the root directory of this source tree.
|
|
43
|
-
*/
|
|
44
|
-
// Very simple pluralization: probably good enough for now
|
|
45
|
-
function useReadingTimePlural() {
|
|
46
|
-
const {
|
|
47
|
-
selectMessage
|
|
48
|
-
} = (0, _themeCommon.usePluralForm)();
|
|
49
|
-
return readingTimeFloat => {
|
|
50
|
-
const readingTime = Math.ceil(readingTimeFloat);
|
|
51
|
-
return selectMessage(readingTime, (0, _Translate.translate)({
|
|
52
|
-
id: 'theme.blog.post.readingTime.plurals',
|
|
53
|
-
description: 'Pluralized label for "{readingTime} min read". Use as much plural forms (separated by "|") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)',
|
|
54
|
-
message: 'One min read|{readingTime} min read'
|
|
55
|
-
}, {
|
|
56
|
-
readingTime
|
|
57
|
-
}));
|
|
58
|
-
};
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
function BlogPostItem(props) {
|
|
62
|
-
var _assets$image;
|
|
63
|
-
|
|
64
|
-
const readingTimePlural = useReadingTimePlural();
|
|
65
|
-
const {
|
|
66
|
-
withBaseUrl
|
|
67
|
-
} = (0, _useBaseUrl.useBaseUrlUtils)();
|
|
68
|
-
const {
|
|
69
|
-
children,
|
|
70
|
-
frontMatter,
|
|
71
|
-
assets,
|
|
72
|
-
metadata,
|
|
73
|
-
truncated,
|
|
74
|
-
isBlogPostPage = false
|
|
75
|
-
} = props;
|
|
76
|
-
const {
|
|
77
|
-
date,
|
|
78
|
-
formattedDate,
|
|
79
|
-
permalink,
|
|
80
|
-
tags,
|
|
81
|
-
readingTime,
|
|
82
|
-
title,
|
|
83
|
-
editUrl,
|
|
84
|
-
authors
|
|
85
|
-
} = metadata;
|
|
86
|
-
const image = (_assets$image = assets.image) !== null && _assets$image !== void 0 ? _assets$image : frontMatter.image;
|
|
87
|
-
const truncatedPost = !isBlogPostPage && truncated;
|
|
88
|
-
const tagsExists = tags.length > 0;
|
|
89
|
-
|
|
90
|
-
const renderPostHeader = () => {
|
|
91
|
-
const TitleHeading = isBlogPostPage ? 'h1' : 'h2';
|
|
92
|
-
return <header>
|
|
93
|
-
<TitleHeading className={_stylesModule.default.blogPostTitle} itemProp="headline">
|
|
94
|
-
{isBlogPostPage ? title : <_Link.default itemProp="url" to={permalink}>
|
|
95
|
-
{title}
|
|
96
|
-
</_Link.default>}
|
|
97
|
-
</TitleHeading>
|
|
98
|
-
<div className={(0, _clsx.default)(_stylesModule.default.blogPostData, 'margin-vert--md')}>
|
|
99
|
-
<time dateTime={date} itemProp="datePublished">
|
|
100
|
-
{formattedDate}
|
|
101
|
-
</time>
|
|
102
|
-
|
|
103
|
-
{typeof readingTime !== 'undefined' && <>
|
|
104
|
-
{' · '}
|
|
105
|
-
{readingTimePlural(readingTime)}
|
|
106
|
-
</>}
|
|
107
|
-
</div>
|
|
108
|
-
<_BlogPostAuthors.default authors={authors} assets={assets} />
|
|
109
|
-
</header>;
|
|
110
|
-
};
|
|
111
|
-
|
|
112
|
-
return <article className={!isBlogPostPage ? 'margin-bottom--xl' : undefined} itemProp="blogPost" itemScope itemType="http://schema.org/BlogPosting">
|
|
113
|
-
{renderPostHeader()}
|
|
114
|
-
|
|
115
|
-
{image && <meta itemProp="image" content={withBaseUrl(image, {
|
|
116
|
-
absolute: true
|
|
117
|
-
})} />}
|
|
118
|
-
|
|
119
|
-
<div className="markdown" itemProp="articleBody">
|
|
120
|
-
<_react2.MDXProvider components={_MDXComponents.default}>{children}</_react2.MDXProvider>
|
|
121
|
-
</div>
|
|
122
|
-
|
|
123
|
-
{(tagsExists || truncated) && <footer className={(0, _clsx.default)('row docusaurus-mt-lg', {
|
|
124
|
-
[_stylesModule.default.blogPostDetailsFull]: isBlogPostPage
|
|
125
|
-
})}>
|
|
126
|
-
{tagsExists && <div className={(0, _clsx.default)('col', {
|
|
127
|
-
'col--9': truncatedPost
|
|
128
|
-
})}>
|
|
129
|
-
<_TagsListInline.default tags={tags} />
|
|
130
|
-
</div>}
|
|
131
|
-
|
|
132
|
-
{isBlogPostPage && editUrl && <div className="col margin-top--sm">
|
|
133
|
-
<_EditThisPage.default editUrl={editUrl} />
|
|
134
|
-
</div>}
|
|
135
|
-
|
|
136
|
-
{truncatedPost && <div className={(0, _clsx.default)('col text--right', {
|
|
137
|
-
'col--3': tagsExists
|
|
138
|
-
})}>
|
|
139
|
-
<_Link.default to={metadata.permalink} aria-label={`Read more about ${title}`}>
|
|
140
|
-
<b>
|
|
141
|
-
<_Translate.default id="theme.blog.post.readMore" description="The label used in blog post item excerpts to link to full blog posts">
|
|
142
|
-
Read More
|
|
143
|
-
</_Translate.default>
|
|
144
|
-
</b>
|
|
145
|
-
</_Link.default>
|
|
146
|
-
</div>}
|
|
147
|
-
</footer>}
|
|
148
|
-
</article>;
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
var _default = BlogPostItem;
|
|
152
|
-
exports.default = _default;
|
|
@@ -1,18 +0,0 @@
|
|
|
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
|
-
.blogPostTitle {
|
|
9
|
-
font-size: 3rem;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
.blogPostData {
|
|
13
|
-
font-size: 0.9rem;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
.blogPostDetailsFull {
|
|
17
|
-
flex-direction: column;
|
|
18
|
-
}
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
|
|
8
|
-
var _react = _interopRequireDefault(require("react"));
|
|
9
|
-
|
|
10
|
-
var _Seo = _interopRequireDefault(require("@theme/Seo"));
|
|
11
|
-
|
|
12
|
-
var _BlogLayout = _interopRequireDefault(require("@theme/BlogLayout"));
|
|
13
|
-
|
|
14
|
-
var _BlogPostItem = _interopRequireDefault(require("@theme/BlogPostItem"));
|
|
15
|
-
|
|
16
|
-
var _BlogPostPaginator = _interopRequireDefault(require("@theme/BlogPostPaginator"));
|
|
17
|
-
|
|
18
|
-
var _themeCommon = require("@docusaurus/theme-common");
|
|
19
|
-
|
|
20
|
-
var _TOC = _interopRequireDefault(require("@theme/TOC"));
|
|
21
|
-
|
|
22
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
23
|
-
|
|
24
|
-
/**
|
|
25
|
-
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
26
|
-
*
|
|
27
|
-
* This source code is licensed under the MIT license found in the
|
|
28
|
-
* LICENSE file in the root directory of this source tree.
|
|
29
|
-
*/
|
|
30
|
-
function BlogPostPage(props) {
|
|
31
|
-
var _assets$image;
|
|
32
|
-
|
|
33
|
-
const {
|
|
34
|
-
content: BlogPostContents,
|
|
35
|
-
sidebar
|
|
36
|
-
} = props;
|
|
37
|
-
const {
|
|
38
|
-
// TODO this frontmatter is not validated/normalized, it's the raw user-provided one. We should expose normalized one too!
|
|
39
|
-
frontMatter,
|
|
40
|
-
assets,
|
|
41
|
-
metadata
|
|
42
|
-
} = BlogPostContents;
|
|
43
|
-
const {
|
|
44
|
-
title,
|
|
45
|
-
description,
|
|
46
|
-
nextItem,
|
|
47
|
-
prevItem,
|
|
48
|
-
date,
|
|
49
|
-
tags,
|
|
50
|
-
authors
|
|
51
|
-
} = metadata;
|
|
52
|
-
const {
|
|
53
|
-
hide_table_of_contents: hideTableOfContents,
|
|
54
|
-
keywords,
|
|
55
|
-
toc_min_heading_level: tocMinHeadingLevel,
|
|
56
|
-
toc_max_heading_level: tocMaxHeadingLevel
|
|
57
|
-
} = frontMatter;
|
|
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>;
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
var _default = BlogPostPage;
|
|
82
|
-
exports.default = _default;
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
|
|
8
|
-
var _react = _interopRequireDefault(require("react"));
|
|
9
|
-
|
|
10
|
-
var _Translate = _interopRequireWildcard(require("@docusaurus/Translate"));
|
|
11
|
-
|
|
12
|
-
var _Link = _interopRequireDefault(require("@docusaurus/Link"));
|
|
13
|
-
|
|
14
|
-
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
15
|
-
|
|
16
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
17
|
-
|
|
18
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
19
|
-
|
|
20
|
-
/**
|
|
21
|
-
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
22
|
-
*
|
|
23
|
-
* This source code is licensed under the MIT license found in the
|
|
24
|
-
* LICENSE file in the root directory of this source tree.
|
|
25
|
-
*/
|
|
26
|
-
function BlogPostPaginator(props) {
|
|
27
|
-
const {
|
|
28
|
-
nextItem,
|
|
29
|
-
prevItem
|
|
30
|
-
} = props;
|
|
31
|
-
return <nav className="pagination-nav docusaurus-mt-lg" aria-label={(0, _Translate.translate)({
|
|
32
|
-
id: 'theme.blog.post.paginator.navAriaLabel',
|
|
33
|
-
message: 'Blog post page navigation',
|
|
34
|
-
description: 'The ARIA label for the blog posts pagination'
|
|
35
|
-
})}>
|
|
36
|
-
<div className="pagination-nav__item">
|
|
37
|
-
{prevItem && <_Link.default className="pagination-nav__link" to={prevItem.permalink}>
|
|
38
|
-
<div className="pagination-nav__sublabel">
|
|
39
|
-
<_Translate.default id="theme.blog.post.paginator.newerPost" description="The blog post button label to navigate to the newer/previous post">
|
|
40
|
-
Newer Post
|
|
41
|
-
</_Translate.default>
|
|
42
|
-
</div>
|
|
43
|
-
<div className="pagination-nav__label">
|
|
44
|
-
« {prevItem.title}
|
|
45
|
-
</div>
|
|
46
|
-
</_Link.default>}
|
|
47
|
-
</div>
|
|
48
|
-
<div className="pagination-nav__item pagination-nav__item--next">
|
|
49
|
-
{nextItem && <_Link.default className="pagination-nav__link" to={nextItem.permalink}>
|
|
50
|
-
<div className="pagination-nav__sublabel">
|
|
51
|
-
<_Translate.default id="theme.blog.post.paginator.olderPost" description="The blog post button label to navigate to the older/next post">
|
|
52
|
-
Older Post
|
|
53
|
-
</_Translate.default>
|
|
54
|
-
</div>
|
|
55
|
-
<div className="pagination-nav__label">
|
|
56
|
-
{nextItem.title} »
|
|
57
|
-
</div>
|
|
58
|
-
</_Link.default>}
|
|
59
|
-
</div>
|
|
60
|
-
</nav>;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
var _default = BlogPostPaginator;
|
|
64
|
-
exports.default = _default;
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = BlogSidebar;
|
|
7
|
-
|
|
8
|
-
var _react = _interopRequireDefault(require("react"));
|
|
9
|
-
|
|
10
|
-
var _clsx = _interopRequireDefault(require("clsx"));
|
|
11
|
-
|
|
12
|
-
var _Link = _interopRequireDefault(require("@docusaurus/Link"));
|
|
13
|
-
|
|
14
|
-
var _stylesModule = _interopRequireDefault(require("./styles.module.css"));
|
|
15
|
-
|
|
16
|
-
var _Translate = require("@docusaurus/Translate");
|
|
17
|
-
|
|
18
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
19
|
-
|
|
20
|
-
/**
|
|
21
|
-
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
22
|
-
*
|
|
23
|
-
* This source code is licensed under the MIT license found in the
|
|
24
|
-
* LICENSE file in the root directory of this source tree.
|
|
25
|
-
*/
|
|
26
|
-
function BlogSidebar({
|
|
27
|
-
sidebar
|
|
28
|
-
}) {
|
|
29
|
-
if (sidebar.items.length === 0) {
|
|
30
|
-
return null;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
return <nav className={(0, _clsx.default)(_stylesModule.default.sidebar, 'thin-scrollbar')} aria-label={(0, _Translate.translate)({
|
|
34
|
-
id: 'theme.blog.sidebar.navAriaLabel',
|
|
35
|
-
message: 'Blog recent posts navigation',
|
|
36
|
-
description: 'The ARIA label for recent posts in the blog sidebar'
|
|
37
|
-
})}>
|
|
38
|
-
<div className={(0, _clsx.default)(_stylesModule.default.sidebarItemTitle, 'margin-bottom--md')}>
|
|
39
|
-
{sidebar.title}
|
|
40
|
-
</div>
|
|
41
|
-
<ul className={_stylesModule.default.sidebarItemList}>
|
|
42
|
-
{sidebar.items.map(item => <li key={item.permalink} className={_stylesModule.default.sidebarItem}>
|
|
43
|
-
<_Link.default isNavLink to={item.permalink} className={_stylesModule.default.sidebarItemLink} activeClassName={_stylesModule.default.sidebarItemLinkActive}>
|
|
44
|
-
{item.title}
|
|
45
|
-
</_Link.default>
|
|
46
|
-
</li>)}
|
|
47
|
-
</ul>
|
|
48
|
-
</nav>;
|
|
49
|
-
}
|
|
@@ -1,44 +0,0 @@
|
|
|
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
|
-
.sidebar {
|
|
9
|
-
max-height: calc(100vh - (var(--ifm-navbar-height) + 2rem));
|
|
10
|
-
overflow-y: auto;
|
|
11
|
-
position: sticky;
|
|
12
|
-
top: calc(var(--ifm-navbar-height) + 2rem);
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
.sidebarItemTitle {
|
|
16
|
-
font-size: var(--ifm-h3-font-size);
|
|
17
|
-
font-weight: var(--ifm-font-weight-bold);
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
.sidebarItemList {
|
|
21
|
-
list-style: none;
|
|
22
|
-
font-size: 0.9rem;
|
|
23
|
-
padding-left: 0;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
.sidebarItem {
|
|
27
|
-
margin-top: 0.7rem;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
.sidebarItemLink {
|
|
31
|
-
color: var(--ifm-font-color-base);
|
|
32
|
-
}
|
|
33
|
-
.sidebarItemLink:hover {
|
|
34
|
-
text-decoration: none;
|
|
35
|
-
}
|
|
36
|
-
.sidebarItemLinkActive {
|
|
37
|
-
color: var(--ifm-color-primary) !important;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
@media (max-width: 996px) {
|
|
41
|
-
.sidebar {
|
|
42
|
-
display: none;
|
|
43
|
-
}
|
|
44
|
-
}
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
|
|
8
|
-
var _react = _interopRequireDefault(require("react"));
|
|
9
|
-
|
|
10
|
-
var _BlogLayout = _interopRequireDefault(require("@theme/BlogLayout"));
|
|
11
|
-
|
|
12
|
-
var _TagsListByLetter = _interopRequireDefault(require("@theme/TagsListByLetter"));
|
|
13
|
-
|
|
14
|
-
var _themeCommon = require("@docusaurus/theme-common");
|
|
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
|
-
function BlogTagsListPage(props) {
|
|
25
|
-
const {
|
|
26
|
-
tags,
|
|
27
|
-
sidebar
|
|
28
|
-
} = props;
|
|
29
|
-
const title = (0, _themeCommon.translateTagsPageTitle)();
|
|
30
|
-
return <_BlogLayout.default title={title} wrapperClassName={_themeCommon.ThemeClassNames.wrapper.blogPages} pageClassName={_themeCommon.ThemeClassNames.page.blogTagsListPage} searchMetadata={{
|
|
31
|
-
// assign unique search tag to exclude this page from search results!
|
|
32
|
-
tag: 'blog_tags_list'
|
|
33
|
-
}} sidebar={sidebar}>
|
|
34
|
-
<h1>{title}</h1>
|
|
35
|
-
<_TagsListByLetter.default tags={Object.values(tags)} />
|
|
36
|
-
</_BlogLayout.default>;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
var _default = BlogTagsListPage;
|
|
40
|
-
exports.default = _default;
|
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = BlogTagsPostsPage;
|
|
7
|
-
|
|
8
|
-
var _react = _interopRequireDefault(require("react"));
|
|
9
|
-
|
|
10
|
-
var _Link = _interopRequireDefault(require("@docusaurus/Link"));
|
|
11
|
-
|
|
12
|
-
var _BlogLayout = _interopRequireDefault(require("@theme/BlogLayout"));
|
|
13
|
-
|
|
14
|
-
var _BlogPostItem = _interopRequireDefault(require("@theme/BlogPostItem"));
|
|
15
|
-
|
|
16
|
-
var _Translate = _interopRequireWildcard(require("@docusaurus/Translate"));
|
|
17
|
-
|
|
18
|
-
var _themeCommon = require("@docusaurus/theme-common");
|
|
19
|
-
|
|
20
|
-
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
21
|
-
|
|
22
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
23
|
-
|
|
24
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
25
|
-
|
|
26
|
-
/**
|
|
27
|
-
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
28
|
-
*
|
|
29
|
-
* This source code is licensed under the MIT license found in the
|
|
30
|
-
* LICENSE file in the root directory of this source tree.
|
|
31
|
-
*/
|
|
32
|
-
// Very simple pluralization: probably good enough for now
|
|
33
|
-
function useBlogPostsPlural() {
|
|
34
|
-
const {
|
|
35
|
-
selectMessage
|
|
36
|
-
} = (0, _themeCommon.usePluralForm)();
|
|
37
|
-
return count => selectMessage(count, (0, _Translate.translate)({
|
|
38
|
-
id: 'theme.blog.post.plurals',
|
|
39
|
-
description: 'Pluralized label for "{count} posts". Use as much plural forms (separated by "|") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)',
|
|
40
|
-
message: 'One post|{count} posts'
|
|
41
|
-
}, {
|
|
42
|
-
count
|
|
43
|
-
}));
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
function BlogTagsPostsPage(props) {
|
|
47
|
-
const {
|
|
48
|
-
metadata,
|
|
49
|
-
items,
|
|
50
|
-
sidebar
|
|
51
|
-
} = props;
|
|
52
|
-
const {
|
|
53
|
-
allTagsPath,
|
|
54
|
-
name: tagName,
|
|
55
|
-
count
|
|
56
|
-
} = metadata;
|
|
57
|
-
const blogPostsPlural = useBlogPostsPlural();
|
|
58
|
-
const title = (0, _Translate.translate)({
|
|
59
|
-
id: 'theme.blog.tagTitle',
|
|
60
|
-
description: 'The title of the page for a blog tag',
|
|
61
|
-
message: '{nPosts} tagged with "{tagName}"'
|
|
62
|
-
}, {
|
|
63
|
-
nPosts: blogPostsPlural(count),
|
|
64
|
-
tagName
|
|
65
|
-
});
|
|
66
|
-
return <_BlogLayout.default title={title} wrapperClassName={_themeCommon.ThemeClassNames.wrapper.blogPages} pageClassName={_themeCommon.ThemeClassNames.page.blogTagPostListPage} searchMetadata={{
|
|
67
|
-
// assign unique search tag to exclude this page from search results!
|
|
68
|
-
tag: 'blog_tags_posts'
|
|
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
|
-
}
|
|
@@ -1,133 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = CodeBlock;
|
|
7
|
-
|
|
8
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
-
|
|
10
|
-
var _clsx = _interopRequireDefault(require("clsx"));
|
|
11
|
-
|
|
12
|
-
var _prismReactRenderer = _interopRequireWildcard(require("prism-react-renderer"));
|
|
13
|
-
|
|
14
|
-
var _copyTextToClipboard = _interopRequireDefault(require("copy-text-to-clipboard"));
|
|
15
|
-
|
|
16
|
-
var _Translate = _interopRequireWildcard(require("@docusaurus/Translate"));
|
|
17
|
-
|
|
18
|
-
var _themeCommon = require("@docusaurus/theme-common");
|
|
19
|
-
|
|
20
|
-
var _usePrismTheme = _interopRequireDefault(require("@theme/hooks/usePrismTheme"));
|
|
21
|
-
|
|
22
|
-
var _stylesModule = _interopRequireDefault(require("./styles.module.css"));
|
|
23
|
-
|
|
24
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
25
|
-
|
|
26
|
-
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
27
|
-
|
|
28
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
29
|
-
|
|
30
|
-
/**
|
|
31
|
-
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
32
|
-
*
|
|
33
|
-
* This source code is licensed under the MIT license found in the
|
|
34
|
-
* LICENSE file in the root directory of this source tree.
|
|
35
|
-
*/
|
|
36
|
-
function CodeBlock({
|
|
37
|
-
children,
|
|
38
|
-
className: blockClassName,
|
|
39
|
-
metastring,
|
|
40
|
-
title
|
|
41
|
-
}) {
|
|
42
|
-
var _parseLanguage;
|
|
43
|
-
|
|
44
|
-
const {
|
|
45
|
-
prism
|
|
46
|
-
} = (0, _themeCommon.useThemeConfig)();
|
|
47
|
-
const [showCopied, setShowCopied] = (0, _react.useState)(false);
|
|
48
|
-
const [mounted, setMounted] = (0, _react.useState)(false); // The Prism theme on SSR is always the default theme but the site theme
|
|
49
|
-
// can be in a different mode. React hydration doesn't update DOM styles
|
|
50
|
-
// that come from SSR. Hence force a re-render after mounting to apply the
|
|
51
|
-
// current relevant styles. There will be a flash seen of the original
|
|
52
|
-
// styles seen using this current approach but that's probably ok. Fixing
|
|
53
|
-
// the flash will require changing the theming approach and is not worth it
|
|
54
|
-
// at this point.
|
|
55
|
-
|
|
56
|
-
(0, _react.useEffect)(() => {
|
|
57
|
-
setMounted(true);
|
|
58
|
-
}, []); // TODO: the title is provided by MDX as props automatically
|
|
59
|
-
// so we probably don't need to parse the metastring
|
|
60
|
-
// (note: title="xyz" => title prop still has the quotes)
|
|
61
|
-
|
|
62
|
-
const codeBlockTitle = (0, _themeCommon.parseCodeBlockTitle)(metastring) || title;
|
|
63
|
-
const prismTheme = (0, _usePrismTheme.default)(); // In case interleaved Markdown (e.g. when using CodeBlock as standalone component).
|
|
64
|
-
|
|
65
|
-
const content = Array.isArray(children) ? children.join('') : children;
|
|
66
|
-
const language = (_parseLanguage = (0, _themeCommon.parseLanguage)(blockClassName)) !== null && _parseLanguage !== void 0 ? _parseLanguage : prism.defaultLanguage;
|
|
67
|
-
const {
|
|
68
|
-
highlightLines,
|
|
69
|
-
code
|
|
70
|
-
} = (0, _themeCommon.parseLines)(content, metastring, language);
|
|
71
|
-
|
|
72
|
-
const handleCopyCode = () => {
|
|
73
|
-
(0, _copyTextToClipboard.default)(code);
|
|
74
|
-
setShowCopied(true);
|
|
75
|
-
setTimeout(() => setShowCopied(false), 2000);
|
|
76
|
-
};
|
|
77
|
-
|
|
78
|
-
return <_prismReactRenderer.default {..._prismReactRenderer.defaultProps} key={String(mounted)} theme={prismTheme} code={code} language={language}>
|
|
79
|
-
{({
|
|
80
|
-
className,
|
|
81
|
-
style,
|
|
82
|
-
tokens,
|
|
83
|
-
getLineProps,
|
|
84
|
-
getTokenProps
|
|
85
|
-
}) => <div className={(0, _clsx.default)(_stylesModule.default.codeBlockContainer, blockClassName)}>
|
|
86
|
-
{codeBlockTitle && <div style={style} className={_stylesModule.default.codeBlockTitle}>
|
|
87
|
-
{codeBlockTitle}
|
|
88
|
-
</div>}
|
|
89
|
-
<div className={(0, _clsx.default)(_stylesModule.default.codeBlockContent, language)}>
|
|
90
|
-
<pre
|
|
91
|
-
/* eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex */
|
|
92
|
-
tabIndex={0} className={(0, _clsx.default)(className, _stylesModule.default.codeBlock, 'thin-scrollbar')} style={style}>
|
|
93
|
-
<code className={_stylesModule.default.codeBlockLines}>
|
|
94
|
-
{tokens.map((line, i) => {
|
|
95
|
-
if (line.length === 1 && line[0].content === '\n') {
|
|
96
|
-
line[0].content = '';
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
const lineProps = getLineProps({
|
|
100
|
-
line,
|
|
101
|
-
key: i
|
|
102
|
-
});
|
|
103
|
-
|
|
104
|
-
if (highlightLines.includes(i)) {
|
|
105
|
-
lineProps.className += ' docusaurus-highlight-code-line';
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
return <span key={i} {...lineProps}>
|
|
109
|
-
{line.map((token, key) => <span key={key} {...getTokenProps({
|
|
110
|
-
token,
|
|
111
|
-
key
|
|
112
|
-
})} />)}
|
|
113
|
-
<br />
|
|
114
|
-
</span>;
|
|
115
|
-
})}
|
|
116
|
-
</code>
|
|
117
|
-
</pre>
|
|
118
|
-
|
|
119
|
-
<button type="button" aria-label={(0, _Translate.translate)({
|
|
120
|
-
id: 'theme.CodeBlock.copyButtonAriaLabel',
|
|
121
|
-
message: 'Copy code to clipboard',
|
|
122
|
-
description: 'The ARIA label for copy code blocks button'
|
|
123
|
-
})} className={(0, _clsx.default)(_stylesModule.default.copyButton, 'clean-btn')} onClick={handleCopyCode}>
|
|
124
|
-
{showCopied ? <_Translate.default id="theme.CodeBlock.copied" description="The copied button label on code blocks">
|
|
125
|
-
Copied
|
|
126
|
-
</_Translate.default> : <_Translate.default id="theme.CodeBlock.copy" description="The copy button label on code blocks">
|
|
127
|
-
Copy
|
|
128
|
-
</_Translate.default>}
|
|
129
|
-
</button>
|
|
130
|
-
</div>
|
|
131
|
-
</div>}
|
|
132
|
-
</_prismReactRenderer.default>;
|
|
133
|
-
}
|