@docusaurus/theme-classic 2.4.0 → 3.0.0-alpha.0
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/lib/getSwizzleConfig.js +99 -7
- package/lib/index.js +20 -6
- package/lib/nprogress.d.ts +1 -1
- package/lib/options.js +1 -0
- package/lib/theme/Admonition/Icon/Caution.d.ts +9 -0
- package/lib/theme/Admonition/Icon/Caution.js +17 -0
- package/lib/theme/Admonition/Icon/Danger.d.ts +9 -0
- package/lib/theme/Admonition/Icon/Danger.js +17 -0
- package/lib/theme/Admonition/Icon/Info.d.ts +9 -0
- package/lib/theme/Admonition/Icon/Info.js +17 -0
- package/lib/theme/Admonition/Icon/Note.d.ts +9 -0
- package/lib/theme/Admonition/Icon/Note.js +17 -0
- package/lib/theme/Admonition/Icon/Tip.d.ts +9 -0
- package/lib/theme/Admonition/Icon/Tip.js +17 -0
- package/lib/theme/Admonition/Layout/index.d.ts +9 -0
- package/lib/theme/Admonition/Layout/index.js +45 -0
- package/lib/theme/Admonition/{styles.module.css → Layout/styles.module.css} +4 -0
- package/lib/theme/Admonition/Type/Caution.d.ts +9 -0
- package/lib/theme/Admonition/Type/Caution.js +32 -0
- package/lib/theme/Admonition/Type/Danger.d.ts +9 -0
- package/lib/theme/Admonition/Type/Danger.js +32 -0
- package/lib/theme/Admonition/Type/Info.d.ts +9 -0
- package/lib/theme/Admonition/Type/Info.js +32 -0
- package/lib/theme/Admonition/Type/Note.d.ts +9 -0
- package/lib/theme/Admonition/Type/Note.js +32 -0
- package/lib/theme/Admonition/Type/Tip.d.ts +9 -0
- package/lib/theme/Admonition/Type/Tip.js +32 -0
- package/lib/theme/Admonition/Types.d.ts +12 -0
- package/lib/theme/Admonition/Types.js +33 -0
- package/lib/theme/Admonition/index.d.ts +1 -1
- package/lib/theme/Admonition/index.js +12 -171
- package/lib/theme/BlogArchivePage/index.js +7 -2
- package/lib/theme/BlogPostPage/index.js +3 -1
- package/lib/theme/BlogSidebar/Desktop/index.js +3 -1
- package/lib/theme/BlogSidebar/Mobile/index.js +3 -1
- package/lib/theme/BlogTagsListPage/index.js +2 -1
- package/lib/theme/BlogTagsPostsPage/index.js +4 -2
- package/lib/theme/CodeBlock/CopyButton/index.js +4 -6
- package/lib/theme/CodeBlock/WordWrapButton/index.js +2 -9
- package/lib/theme/DocBreadcrumbs/index.js +6 -2
- package/lib/theme/DocCard/index.js +8 -4
- package/lib/theme/DocItem/Layout/index.js +5 -0
- package/lib/theme/DocPaginator/index.js +1 -1
- package/lib/theme/{DocPage → DocRoot}/Layout/Main/index.d.ts +2 -2
- package/lib/theme/{DocPage → DocRoot}/Layout/Main/index.js +1 -1
- package/lib/theme/{DocPage → DocRoot}/Layout/Sidebar/ExpandButton/index.d.ts +2 -2
- package/lib/theme/{DocPage → DocRoot}/Layout/Sidebar/ExpandButton/index.js +1 -1
- package/lib/theme/{DocPage → DocRoot}/Layout/Sidebar/index.d.ts +2 -2
- package/lib/theme/{DocPage → DocRoot}/Layout/Sidebar/index.js +8 -3
- package/lib/theme/{DocPage → DocRoot}/Layout/index.d.ts +2 -2
- package/lib/theme/{DocPage → DocRoot}/Layout/index.js +9 -10
- package/lib/theme/{DocPage → DocRoot}/Layout/styles.module.css +1 -2
- package/lib/theme/{DocPage → DocRoot}/index.d.ts +2 -2
- package/lib/theme/DocRoot/index.js +31 -0
- package/lib/theme/DocSidebarItem/Category/index.js +3 -3
- package/lib/theme/DocSidebarItems/index.js +6 -4
- package/lib/theme/DocTagDocListPage/index.d.ts +1 -1
- package/lib/theme/DocTagDocListPage/index.js +53 -39
- package/lib/theme/DocTagsListPage/index.d.ts +1 -1
- package/lib/theme/DocTagsListPage/index.js +26 -17
- package/lib/theme/DocVersionRoot/index.d.ts +10 -0
- package/lib/theme/DocVersionRoot/index.js +46 -0
- package/lib/theme/DocsRoot/index.d.ts +10 -0
- package/lib/theme/DocsRoot/index.js +18 -0
- package/lib/theme/EditThisPage/index.js +3 -6
- package/lib/theme/ErrorPageContent.js +3 -2
- package/lib/theme/{MDXComponents/Head.d.ts → Icon/Copy/index.d.ts} +2 -2
- package/lib/theme/Icon/Copy/index.js +17 -0
- package/lib/theme/Icon/Success/index.d.ts +9 -0
- package/lib/theme/Icon/Success/index.js +17 -0
- package/lib/theme/Icon/WordWrap/index.d.ts +9 -0
- package/lib/theme/Icon/WordWrap/index.js +17 -0
- package/lib/theme/MDXComponents/Code.js +2 -36
- package/lib/theme/MDXComponents/Details.js +1 -1
- package/lib/theme/MDXComponents/Pre.d.ts +2 -2
- package/lib/theme/MDXComponents/Pre.js +4 -11
- package/lib/theme/MDXComponents/index.js +3 -3
- package/lib/theme/MDXContent/index.js +1 -0
- package/lib/theme/MDXPage/index.js +16 -4
- package/lib/theme/NavbarItem/DocNavbarItem.js +4 -3
- package/lib/theme/NavbarItem/LocaleDropdownNavbarItem/index.d.ts +1 -1
- package/lib/theme/NavbarItem/LocaleDropdownNavbarItem/index.js +2 -1
- package/lib/theme/NotFound/Content/index.d.ts +9 -0
- package/lib/theme/NotFound/Content/index.js +42 -0
- package/lib/theme/{NotFound.d.ts → NotFound/index.d.ts} +1 -1
- package/lib/theme/NotFound/index.js +25 -0
- package/lib/theme/TOCItems/Tree.js +3 -4
- package/lib/theme/Tabs/index.js +4 -2
- package/lib/theme/TagsListByLetter/index.js +4 -1
- package/lib/theme/ThemedImage/index.js +8 -24
- package/lib/theme/Unlisted/index.d.ts +9 -0
- package/lib/theme/Unlisted/index.js +38 -0
- package/package.json +24 -24
- package/src/getSwizzleConfig.ts +107 -8
- package/src/index.ts +21 -6
- package/src/nprogress.ts +2 -1
- package/src/options.ts +1 -0
- package/src/theme/Admonition/Icon/Caution.tsx +20 -0
- package/src/theme/Admonition/Icon/Danger.tsx +20 -0
- package/src/theme/Admonition/Icon/Info.tsx +20 -0
- package/src/theme/Admonition/Icon/Note.tsx +20 -0
- package/src/theme/Admonition/Icon/Tip.tsx +20 -0
- package/src/theme/Admonition/Layout/index.tsx +57 -0
- package/src/theme/Admonition/{styles.module.css → Layout/styles.module.css} +4 -0
- package/src/theme/Admonition/Type/Caution.tsx +37 -0
- package/src/theme/Admonition/Type/Danger.tsx +37 -0
- package/src/theme/Admonition/Type/Info.tsx +37 -0
- package/src/theme/Admonition/Type/Note.tsx +37 -0
- package/src/theme/Admonition/Type/Tip.tsx +37 -0
- package/src/theme/Admonition/Types.tsx +38 -0
- package/src/theme/Admonition/index.tsx +13 -194
- package/src/theme/BlogArchivePage/index.tsx +7 -2
- package/src/theme/BlogPostPage/index.tsx +3 -1
- package/src/theme/BlogSidebar/Desktop/index.tsx +3 -1
- package/src/theme/BlogSidebar/Mobile/index.tsx +3 -1
- package/src/theme/BlogTagsListPage/index.tsx +2 -1
- package/src/theme/BlogTagsPostsPage/index.tsx +4 -2
- package/src/theme/CodeBlock/CopyButton/index.tsx +4 -6
- package/src/theme/CodeBlock/WordWrapButton/index.tsx +2 -9
- package/src/theme/DocBreadcrumbs/index.tsx +6 -2
- package/src/theme/DocCard/index.tsx +11 -6
- package/src/theme/DocItem/Layout/index.tsx +5 -0
- package/src/theme/DocPaginator/index.tsx +1 -1
- package/src/theme/{DocPage → DocRoot}/Layout/Main/index.tsx +2 -2
- package/src/theme/{DocPage → DocRoot}/Layout/Sidebar/ExpandButton/index.tsx +2 -2
- package/src/theme/{DocPage → DocRoot}/Layout/Sidebar/index.tsx +9 -4
- package/src/theme/{DocPage → DocRoot}/Layout/index.tsx +10 -11
- package/src/theme/{DocPage → DocRoot}/Layout/styles.module.css +1 -2
- package/src/theme/DocRoot/index.tsx +34 -0
- package/src/theme/DocSidebarItem/Category/index.tsx +3 -3
- package/src/theme/DocSidebarItems/index.tsx +6 -4
- package/src/theme/DocTagDocListPage/index.tsx +60 -39
- package/src/theme/DocTagsListPage/index.tsx +33 -17
- package/src/theme/DocVersionRoot/index.tsx +51 -0
- package/src/theme/DocsRoot/index.tsx +22 -0
- package/src/theme/EditThisPage/index.tsx +3 -6
- package/src/theme/ErrorPageContent.tsx +3 -2
- package/src/theme/Icon/Copy/index.tsx +20 -0
- package/src/theme/Icon/Success/index.tsx +20 -0
- package/src/theme/Icon/WordWrap/index.tsx +20 -0
- package/src/theme/MDXComponents/Code.tsx +2 -39
- package/src/theme/MDXComponents/Details.tsx +1 -2
- package/src/theme/MDXComponents/Pre.tsx +5 -13
- package/src/theme/MDXComponents/index.tsx +3 -3
- package/src/theme/MDXContent/index.tsx +1 -0
- package/src/theme/MDXPage/index.tsx +16 -4
- package/src/theme/NavbarItem/DocNavbarItem.tsx +4 -3
- package/src/theme/NavbarItem/LocaleDropdownNavbarItem/index.tsx +2 -1
- package/src/theme/NotFound/Content/index.tsx +45 -0
- package/src/theme/NotFound/index.tsx +27 -0
- package/src/theme/SkipToContent/index.tsx +0 -1
- package/src/theme/TOCItems/Tree.tsx +3 -4
- package/src/theme/Tabs/index.tsx +4 -2
- package/src/theme/TagsListByLetter/index.tsx +4 -2
- package/src/theme/ThemedImage/index.tsx +8 -31
- package/src/theme/Unlisted/index.tsx +42 -0
- package/src/theme/prism-include-languages.ts +2 -1
- package/src/theme-classic.d.ts +154 -20
- package/lib/theme/DocPage/index.js +0 -67
- package/lib/theme/MDXComponents/Head.js +0 -23
- package/lib/theme/NotFound.js +0 -52
- package/src/theme/DocPage/index.tsx +0 -71
- package/src/theme/MDXComponents/Head.tsx +0 -29
- package/src/theme/NotFound.tsx +0 -54
- /package/lib/theme/{DocPage → DocRoot}/Layout/Main/styles.module.css +0 -0
- /package/lib/theme/{DocPage → DocRoot}/Layout/Sidebar/ExpandButton/styles.module.css +0 -0
- /package/lib/theme/{DocPage → DocRoot}/Layout/Sidebar/styles.module.css +0 -0
- /package/src/theme/{DocPage → DocRoot}/Layout/Main/styles.module.css +0 -0
- /package/src/theme/{DocPage → DocRoot}/Layout/Sidebar/ExpandButton/styles.module.css +0 -0
- /package/src/theme/{DocPage → DocRoot}/Layout/Sidebar/styles.module.css +0 -0
|
@@ -0,0 +1,20 @@
|
|
|
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
|
+
import React from 'react';
|
|
9
|
+
import type {Props} from '@theme/Admonition/Icon/Info';
|
|
10
|
+
|
|
11
|
+
export default function AdmonitionIconInfo(props: Props): JSX.Element {
|
|
12
|
+
return (
|
|
13
|
+
<svg viewBox="0 0 14 16" {...props}>
|
|
14
|
+
<path
|
|
15
|
+
fillRule="evenodd"
|
|
16
|
+
d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"
|
|
17
|
+
/>
|
|
18
|
+
</svg>
|
|
19
|
+
);
|
|
20
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
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
|
+
import React from 'react';
|
|
9
|
+
import type {Props} from '@theme/Admonition/Icon/Note';
|
|
10
|
+
|
|
11
|
+
export default function AdmonitionIconNote(props: Props): JSX.Element {
|
|
12
|
+
return (
|
|
13
|
+
<svg viewBox="0 0 14 16" {...props}>
|
|
14
|
+
<path
|
|
15
|
+
fillRule="evenodd"
|
|
16
|
+
d="M6.3 5.69a.942.942 0 0 1-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28 0 .52.09.7.28.18.19.28.42.28.7 0 .28-.09.52-.28.7a1 1 0 0 1-.7.3c-.28 0-.52-.11-.7-.3zM8 7.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27 0 .48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7 2.3c-3.14 0-5.7 2.54-5.7 5.68 0 3.14 2.56 5.7 5.7 5.7s5.7-2.55 5.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7 .98c3.86 0 7 3.14 7 7s-3.14 7-7 7-7-3.12-7-7 3.14-7 7-7z"
|
|
17
|
+
/>
|
|
18
|
+
</svg>
|
|
19
|
+
);
|
|
20
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
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
|
+
import React from 'react';
|
|
9
|
+
import type {Props} from '@theme/Admonition/Icon/Tip';
|
|
10
|
+
|
|
11
|
+
export default function AdmonitionIconTip(props: Props): JSX.Element {
|
|
12
|
+
return (
|
|
13
|
+
<svg viewBox="0 0 12 16" {...props}>
|
|
14
|
+
<path
|
|
15
|
+
fillRule="evenodd"
|
|
16
|
+
d="M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"
|
|
17
|
+
/>
|
|
18
|
+
</svg>
|
|
19
|
+
);
|
|
20
|
+
}
|
|
@@ -0,0 +1,57 @@
|
|
|
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
|
+
import React, {type ReactNode} from 'react';
|
|
9
|
+
import clsx from 'clsx';
|
|
10
|
+
import {ThemeClassNames} from '@docusaurus/theme-common';
|
|
11
|
+
|
|
12
|
+
import type {Props} from '@theme/Admonition/Layout';
|
|
13
|
+
|
|
14
|
+
import styles from './styles.module.css';
|
|
15
|
+
|
|
16
|
+
function AdmonitionContainer({
|
|
17
|
+
type,
|
|
18
|
+
className,
|
|
19
|
+
children,
|
|
20
|
+
}: Pick<Props, 'type' | 'className'> & {children: ReactNode}) {
|
|
21
|
+
return (
|
|
22
|
+
<div
|
|
23
|
+
className={clsx(
|
|
24
|
+
ThemeClassNames.common.admonition,
|
|
25
|
+
ThemeClassNames.common.admonitionType(type),
|
|
26
|
+
styles.admonition,
|
|
27
|
+
className,
|
|
28
|
+
)}>
|
|
29
|
+
{children}
|
|
30
|
+
</div>
|
|
31
|
+
);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
function AdmonitionHeading({icon, title}: Pick<Props, 'icon' | 'title'>) {
|
|
35
|
+
return (
|
|
36
|
+
<div className={styles.admonitionHeading}>
|
|
37
|
+
<span className={styles.admonitionIcon}>{icon}</span>
|
|
38
|
+
{title}
|
|
39
|
+
</div>
|
|
40
|
+
);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
function AdmonitionContent({children}: Pick<Props, 'children'>) {
|
|
44
|
+
return children ? (
|
|
45
|
+
<div className={styles.admonitionContent}>{children}</div>
|
|
46
|
+
) : null;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
export default function AdmonitionLayout(props: Props): JSX.Element {
|
|
50
|
+
const {type, icon, title, children, className} = props;
|
|
51
|
+
return (
|
|
52
|
+
<AdmonitionContainer type={type} className={className}>
|
|
53
|
+
<AdmonitionHeading title={title} icon={icon} />
|
|
54
|
+
<AdmonitionContent>{children}</AdmonitionContent>
|
|
55
|
+
</AdmonitionContainer>
|
|
56
|
+
);
|
|
57
|
+
}
|
|
@@ -13,6 +13,10 @@
|
|
|
13
13
|
font: var(--ifm-heading-font-weight) var(--ifm-h5-font-size) /
|
|
14
14
|
var(--ifm-heading-line-height) var(--ifm-heading-font-family);
|
|
15
15
|
text-transform: uppercase;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
/* Heading alone without content (does not handle fragment content) */
|
|
19
|
+
.admonitionHeading:not(:last-child) {
|
|
16
20
|
margin-bottom: 0.3rem;
|
|
17
21
|
}
|
|
18
22
|
|
|
@@ -0,0 +1,37 @@
|
|
|
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
|
+
import React from 'react';
|
|
9
|
+
import clsx from 'clsx';
|
|
10
|
+
import Translate from '@docusaurus/Translate';
|
|
11
|
+
import type {Props} from '@theme/Admonition/Type/Caution';
|
|
12
|
+
import AdmonitionLayout from '@theme/Admonition/Layout';
|
|
13
|
+
import IconCaution from '@theme/Admonition/Icon/Caution';
|
|
14
|
+
|
|
15
|
+
const infimaClassName = 'alert alert--warning';
|
|
16
|
+
|
|
17
|
+
const defaultProps = {
|
|
18
|
+
icon: <IconCaution />,
|
|
19
|
+
title: (
|
|
20
|
+
<Translate
|
|
21
|
+
id="theme.admonition.caution"
|
|
22
|
+
description="The default label used for the Caution admonition (:::caution)">
|
|
23
|
+
caution
|
|
24
|
+
</Translate>
|
|
25
|
+
),
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
export default function AdmonitionTypeCaution(props: Props): JSX.Element {
|
|
29
|
+
return (
|
|
30
|
+
<AdmonitionLayout
|
|
31
|
+
{...defaultProps}
|
|
32
|
+
{...props}
|
|
33
|
+
className={clsx(infimaClassName, props.className)}>
|
|
34
|
+
{props.children}
|
|
35
|
+
</AdmonitionLayout>
|
|
36
|
+
);
|
|
37
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
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
|
+
import React from 'react';
|
|
9
|
+
import clsx from 'clsx';
|
|
10
|
+
import Translate from '@docusaurus/Translate';
|
|
11
|
+
import type {Props} from '@theme/Admonition/Type/Danger';
|
|
12
|
+
import AdmonitionLayout from '@theme/Admonition/Layout';
|
|
13
|
+
import IconDanger from '@theme/Admonition/Icon/Danger';
|
|
14
|
+
|
|
15
|
+
const infimaClassName = 'alert alert--danger';
|
|
16
|
+
|
|
17
|
+
const defaultProps = {
|
|
18
|
+
icon: <IconDanger />,
|
|
19
|
+
title: (
|
|
20
|
+
<Translate
|
|
21
|
+
id="theme.admonition.danger"
|
|
22
|
+
description="The default label used for the Danger admonition (:::danger)">
|
|
23
|
+
danger
|
|
24
|
+
</Translate>
|
|
25
|
+
),
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
export default function AdmonitionTypeDanger(props: Props): JSX.Element {
|
|
29
|
+
return (
|
|
30
|
+
<AdmonitionLayout
|
|
31
|
+
{...defaultProps}
|
|
32
|
+
{...props}
|
|
33
|
+
className={clsx(infimaClassName, props.className)}>
|
|
34
|
+
{props.children}
|
|
35
|
+
</AdmonitionLayout>
|
|
36
|
+
);
|
|
37
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
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
|
+
import React from 'react';
|
|
9
|
+
import clsx from 'clsx';
|
|
10
|
+
import Translate from '@docusaurus/Translate';
|
|
11
|
+
import type {Props} from '@theme/Admonition/Type/Info';
|
|
12
|
+
import AdmonitionLayout from '@theme/Admonition/Layout';
|
|
13
|
+
import IconInfo from '@theme/Admonition/Icon/Info';
|
|
14
|
+
|
|
15
|
+
const infimaClassName = 'alert alert--info';
|
|
16
|
+
|
|
17
|
+
const defaultProps = {
|
|
18
|
+
icon: <IconInfo />,
|
|
19
|
+
title: (
|
|
20
|
+
<Translate
|
|
21
|
+
id="theme.admonition.info"
|
|
22
|
+
description="The default label used for the Info admonition (:::info)">
|
|
23
|
+
info
|
|
24
|
+
</Translate>
|
|
25
|
+
),
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
export default function AdmonitionTypeInfo(props: Props): JSX.Element {
|
|
29
|
+
return (
|
|
30
|
+
<AdmonitionLayout
|
|
31
|
+
{...defaultProps}
|
|
32
|
+
{...props}
|
|
33
|
+
className={clsx(infimaClassName, props.className)}>
|
|
34
|
+
{props.children}
|
|
35
|
+
</AdmonitionLayout>
|
|
36
|
+
);
|
|
37
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
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
|
+
import React from 'react';
|
|
9
|
+
import clsx from 'clsx';
|
|
10
|
+
import Translate from '@docusaurus/Translate';
|
|
11
|
+
import type {Props} from '@theme/Admonition/Type/Note';
|
|
12
|
+
import AdmonitionLayout from '@theme/Admonition/Layout';
|
|
13
|
+
import IconNote from '@theme/Admonition/Icon/Note';
|
|
14
|
+
|
|
15
|
+
const infimaClassName = 'alert alert--secondary';
|
|
16
|
+
|
|
17
|
+
const defaultProps = {
|
|
18
|
+
icon: <IconNote />,
|
|
19
|
+
title: (
|
|
20
|
+
<Translate
|
|
21
|
+
id="theme.admonition.note"
|
|
22
|
+
description="The default label used for the Note admonition (:::note)">
|
|
23
|
+
note
|
|
24
|
+
</Translate>
|
|
25
|
+
),
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
export default function AdmonitionTypeNote(props: Props): JSX.Element {
|
|
29
|
+
return (
|
|
30
|
+
<AdmonitionLayout
|
|
31
|
+
{...defaultProps}
|
|
32
|
+
{...props}
|
|
33
|
+
className={clsx(infimaClassName, props.className)}>
|
|
34
|
+
{props.children}
|
|
35
|
+
</AdmonitionLayout>
|
|
36
|
+
);
|
|
37
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
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
|
+
import React from 'react';
|
|
9
|
+
import clsx from 'clsx';
|
|
10
|
+
import Translate from '@docusaurus/Translate';
|
|
11
|
+
import type {Props} from '@theme/Admonition/Type/Tip';
|
|
12
|
+
import AdmonitionLayout from '@theme/Admonition/Layout';
|
|
13
|
+
import IconTip from '@theme/Admonition/Icon/Tip';
|
|
14
|
+
|
|
15
|
+
const infimaClassName = 'alert alert--success';
|
|
16
|
+
|
|
17
|
+
const defaultProps = {
|
|
18
|
+
icon: <IconTip />,
|
|
19
|
+
title: (
|
|
20
|
+
<Translate
|
|
21
|
+
id="theme.admonition.tip"
|
|
22
|
+
description="The default label used for the Tip admonition (:::tip)">
|
|
23
|
+
tip
|
|
24
|
+
</Translate>
|
|
25
|
+
),
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
export default function AdmonitionTypeTip(props: Props): JSX.Element {
|
|
29
|
+
return (
|
|
30
|
+
<AdmonitionLayout
|
|
31
|
+
{...defaultProps}
|
|
32
|
+
{...props}
|
|
33
|
+
className={clsx(infimaClassName, props.className)}>
|
|
34
|
+
{props.children}
|
|
35
|
+
</AdmonitionLayout>
|
|
36
|
+
);
|
|
37
|
+
}
|
|
@@ -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
|
+
|
|
8
|
+
import React from 'react';
|
|
9
|
+
import AdmonitionTypeNote from '@theme/Admonition/Type/Note';
|
|
10
|
+
import AdmonitionTypeTip from '@theme/Admonition/Type/Tip';
|
|
11
|
+
import AdmonitionTypeInfo from '@theme/Admonition/Type/Info';
|
|
12
|
+
import AdmonitionTypeCaution from '@theme/Admonition/Type/Caution';
|
|
13
|
+
import AdmonitionTypeDanger from '@theme/Admonition/Type/Danger';
|
|
14
|
+
import type AdmonitionTypes from '@theme/Admonition/Types';
|
|
15
|
+
|
|
16
|
+
const admonitionTypes: typeof AdmonitionTypes = {
|
|
17
|
+
note: AdmonitionTypeNote,
|
|
18
|
+
tip: AdmonitionTypeTip,
|
|
19
|
+
info: AdmonitionTypeInfo,
|
|
20
|
+
caution: AdmonitionTypeCaution,
|
|
21
|
+
danger: AdmonitionTypeDanger,
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
// Undocumented legacy admonition type aliases
|
|
25
|
+
// Provide hardcoded/untranslated retrocompatible label
|
|
26
|
+
// See also https://github.com/facebook/docusaurus/issues/7767
|
|
27
|
+
const admonitionAliases: typeof AdmonitionTypes = {
|
|
28
|
+
secondary: (props) => <AdmonitionTypeNote title="secondary" {...props} />,
|
|
29
|
+
important: (props) => <AdmonitionTypeInfo title="important" {...props} />,
|
|
30
|
+
success: (props) => <AdmonitionTypeTip title="success" {...props} />,
|
|
31
|
+
// TODO bad legacy mapping, warning is usually yellow, not red...
|
|
32
|
+
warning: (props) => <AdmonitionTypeDanger title="warning" {...props} />,
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
export default {
|
|
36
|
+
...admonitionTypes,
|
|
37
|
+
...admonitionAliases,
|
|
38
|
+
};
|
|
@@ -5,205 +5,24 @@
|
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
import React, {type
|
|
9
|
-
import
|
|
10
|
-
import {ThemeClassNames} from '@docusaurus/theme-common';
|
|
11
|
-
import Translate from '@docusaurus/Translate';
|
|
8
|
+
import React, {type ComponentType} from 'react';
|
|
9
|
+
import {processAdmonitionProps} from '@docusaurus/theme-common';
|
|
12
10
|
import type {Props} from '@theme/Admonition';
|
|
11
|
+
import AdmonitionTypes from '@theme/Admonition/Types';
|
|
13
12
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
<svg viewBox="0 0 14 16">
|
|
19
|
-
<path
|
|
20
|
-
fillRule="evenodd"
|
|
21
|
-
d="M6.3 5.69a.942.942 0 0 1-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28 0 .52.09.7.28.18.19.28.42.28.7 0 .28-.09.52-.28.7a1 1 0 0 1-.7.3c-.28 0-.52-.11-.7-.3zM8 7.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27 0 .48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7 2.3c-3.14 0-5.7 2.54-5.7 5.68 0 3.14 2.56 5.7 5.7 5.7s5.7-2.55 5.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7 .98c3.86 0 7 3.14 7 7s-3.14 7-7 7-7-3.12-7-7 3.14-7 7-7z"
|
|
22
|
-
/>
|
|
23
|
-
</svg>
|
|
24
|
-
);
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
function TipIcon() {
|
|
28
|
-
return (
|
|
29
|
-
<svg viewBox="0 0 12 16">
|
|
30
|
-
<path
|
|
31
|
-
fillRule="evenodd"
|
|
32
|
-
d="M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"
|
|
33
|
-
/>
|
|
34
|
-
</svg>
|
|
35
|
-
);
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
function DangerIcon() {
|
|
39
|
-
return (
|
|
40
|
-
<svg viewBox="0 0 12 16">
|
|
41
|
-
<path
|
|
42
|
-
fillRule="evenodd"
|
|
43
|
-
d="M5.05.31c.81 2.17.41 3.38-.52 4.31C3.55 5.67 1.98 6.45.9 7.98c-1.45 2.05-1.7 6.53 3.53 7.7-2.2-1.16-2.67-4.52-.3-6.61-.61 2.03.53 3.33 1.94 2.86 1.39-.47 2.3.53 2.27 1.67-.02.78-.31 1.44-1.13 1.81 3.42-.59 4.78-3.42 4.78-5.56 0-2.84-2.53-3.22-1.25-5.61-1.52.13-2.03 1.13-1.89 2.75.09 1.08-1.02 1.8-1.86 1.33-.67-.41-.66-1.19-.06-1.78C8.18 5.31 8.68 2.45 5.05.32L5.03.3l.02.01z"
|
|
44
|
-
/>
|
|
45
|
-
</svg>
|
|
46
|
-
);
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
function InfoIcon() {
|
|
50
|
-
return (
|
|
51
|
-
<svg viewBox="0 0 14 16">
|
|
52
|
-
<path
|
|
53
|
-
fillRule="evenodd"
|
|
54
|
-
d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"
|
|
55
|
-
/>
|
|
56
|
-
</svg>
|
|
57
|
-
);
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
function CautionIcon() {
|
|
61
|
-
return (
|
|
62
|
-
<svg viewBox="0 0 16 16">
|
|
63
|
-
<path
|
|
64
|
-
fillRule="evenodd"
|
|
65
|
-
d="M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"
|
|
66
|
-
/>
|
|
67
|
-
</svg>
|
|
68
|
-
);
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
type AdmonitionConfig = {
|
|
72
|
-
iconComponent: React.ComponentType;
|
|
73
|
-
infimaClassName: string;
|
|
74
|
-
label: ReactNode;
|
|
75
|
-
};
|
|
76
|
-
|
|
77
|
-
// eslint-disable-next-line @typescript-eslint/consistent-indexed-object-style
|
|
78
|
-
const AdmonitionConfigs: Record<Props['type'], AdmonitionConfig> = {
|
|
79
|
-
note: {
|
|
80
|
-
infimaClassName: 'secondary',
|
|
81
|
-
iconComponent: NoteIcon,
|
|
82
|
-
label: (
|
|
83
|
-
<Translate
|
|
84
|
-
id="theme.admonition.note"
|
|
85
|
-
description="The default label used for the Note admonition (:::note)">
|
|
86
|
-
note
|
|
87
|
-
</Translate>
|
|
88
|
-
),
|
|
89
|
-
},
|
|
90
|
-
tip: {
|
|
91
|
-
infimaClassName: 'success',
|
|
92
|
-
iconComponent: TipIcon,
|
|
93
|
-
label: (
|
|
94
|
-
<Translate
|
|
95
|
-
id="theme.admonition.tip"
|
|
96
|
-
description="The default label used for the Tip admonition (:::tip)">
|
|
97
|
-
tip
|
|
98
|
-
</Translate>
|
|
99
|
-
),
|
|
100
|
-
},
|
|
101
|
-
danger: {
|
|
102
|
-
infimaClassName: 'danger',
|
|
103
|
-
iconComponent: DangerIcon,
|
|
104
|
-
label: (
|
|
105
|
-
<Translate
|
|
106
|
-
id="theme.admonition.danger"
|
|
107
|
-
description="The default label used for the Danger admonition (:::danger)">
|
|
108
|
-
danger
|
|
109
|
-
</Translate>
|
|
110
|
-
),
|
|
111
|
-
},
|
|
112
|
-
info: {
|
|
113
|
-
infimaClassName: 'info',
|
|
114
|
-
iconComponent: InfoIcon,
|
|
115
|
-
label: (
|
|
116
|
-
<Translate
|
|
117
|
-
id="theme.admonition.info"
|
|
118
|
-
description="The default label used for the Info admonition (:::info)">
|
|
119
|
-
info
|
|
120
|
-
</Translate>
|
|
121
|
-
),
|
|
122
|
-
},
|
|
123
|
-
caution: {
|
|
124
|
-
infimaClassName: 'warning',
|
|
125
|
-
iconComponent: CautionIcon,
|
|
126
|
-
label: (
|
|
127
|
-
<Translate
|
|
128
|
-
id="theme.admonition.caution"
|
|
129
|
-
description="The default label used for the Caution admonition (:::caution)">
|
|
130
|
-
caution
|
|
131
|
-
</Translate>
|
|
132
|
-
),
|
|
133
|
-
},
|
|
134
|
-
};
|
|
135
|
-
|
|
136
|
-
// Legacy aliases, undocumented but kept for retro-compatibility
|
|
137
|
-
const aliases = {
|
|
138
|
-
secondary: 'note',
|
|
139
|
-
important: 'info',
|
|
140
|
-
success: 'tip',
|
|
141
|
-
warning: 'danger',
|
|
142
|
-
} as const;
|
|
143
|
-
|
|
144
|
-
function getAdmonitionConfig(unsafeType: string): AdmonitionConfig {
|
|
145
|
-
const type =
|
|
146
|
-
(aliases as {[key: string]: Props['type']})[unsafeType] ?? unsafeType;
|
|
147
|
-
const config = (AdmonitionConfigs as {[key: string]: AdmonitionConfig})[type];
|
|
148
|
-
if (config) {
|
|
149
|
-
return config;
|
|
13
|
+
function getAdmonitionTypeComponent(type: string): ComponentType<Props> {
|
|
14
|
+
const component = AdmonitionTypes[type];
|
|
15
|
+
if (component) {
|
|
16
|
+
return component;
|
|
150
17
|
}
|
|
151
18
|
console.warn(
|
|
152
|
-
`No admonition
|
|
19
|
+
`No admonition component found for admonition type "${type}". Using Info as fallback.`,
|
|
153
20
|
);
|
|
154
|
-
return
|
|
21
|
+
return AdmonitionTypes.info!;
|
|
155
22
|
}
|
|
156
23
|
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
rest: ReactNode;
|
|
162
|
-
} {
|
|
163
|
-
const items = React.Children.toArray(children);
|
|
164
|
-
const mdxAdmonitionTitle = items.find(
|
|
165
|
-
(item) =>
|
|
166
|
-
React.isValidElement(item) &&
|
|
167
|
-
(item.props as {mdxType: string} | null)?.mdxType ===
|
|
168
|
-
'mdxAdmonitionTitle',
|
|
169
|
-
);
|
|
170
|
-
const rest = <>{items.filter((item) => item !== mdxAdmonitionTitle)}</>;
|
|
171
|
-
return {
|
|
172
|
-
mdxAdmonitionTitle,
|
|
173
|
-
rest,
|
|
174
|
-
};
|
|
175
|
-
}
|
|
176
|
-
|
|
177
|
-
function processAdmonitionProps(props: Props): Props {
|
|
178
|
-
const {mdxAdmonitionTitle, rest} = extractMDXAdmonitionTitle(props.children);
|
|
179
|
-
return {
|
|
180
|
-
...props,
|
|
181
|
-
title: props.title ?? mdxAdmonitionTitle,
|
|
182
|
-
children: rest,
|
|
183
|
-
};
|
|
184
|
-
}
|
|
185
|
-
|
|
186
|
-
export default function Admonition(props: Props): JSX.Element {
|
|
187
|
-
const {children, type, title, icon: iconProp} = processAdmonitionProps(props);
|
|
188
|
-
|
|
189
|
-
const typeConfig = getAdmonitionConfig(type);
|
|
190
|
-
const titleLabel = title ?? typeConfig.label;
|
|
191
|
-
const {iconComponent: IconComponent} = typeConfig;
|
|
192
|
-
const icon = iconProp ?? <IconComponent />;
|
|
193
|
-
return (
|
|
194
|
-
<div
|
|
195
|
-
className={clsx(
|
|
196
|
-
ThemeClassNames.common.admonition,
|
|
197
|
-
ThemeClassNames.common.admonitionType(props.type),
|
|
198
|
-
'alert',
|
|
199
|
-
`alert--${typeConfig.infimaClassName}`,
|
|
200
|
-
styles.admonition,
|
|
201
|
-
)}>
|
|
202
|
-
<div className={styles.admonitionHeading}>
|
|
203
|
-
<span className={styles.admonitionIcon}>{icon}</span>
|
|
204
|
-
{titleLabel}
|
|
205
|
-
</div>
|
|
206
|
-
<div className={styles.admonitionContent}>{children}</div>
|
|
207
|
-
</div>
|
|
208
|
-
);
|
|
24
|
+
export default function Admonition(unprocessedProps: Props): JSX.Element {
|
|
25
|
+
const props = processAdmonitionProps(unprocessedProps);
|
|
26
|
+
const AdmonitionTypeComponent = getAdmonitionTypeComponent(props.type);
|
|
27
|
+
return <AdmonitionTypeComponent {...props} />;
|
|
209
28
|
}
|
|
@@ -11,6 +11,7 @@ import {translate} from '@docusaurus/Translate';
|
|
|
11
11
|
import {PageMetadata} from '@docusaurus/theme-common';
|
|
12
12
|
import Layout from '@theme/Layout';
|
|
13
13
|
import type {ArchiveBlogPost, Props} from '@theme/BlogArchivePage';
|
|
14
|
+
import Heading from '@theme/Heading';
|
|
14
15
|
|
|
15
16
|
type YearProp = {
|
|
16
17
|
year: string;
|
|
@@ -20,7 +21,9 @@ type YearProp = {
|
|
|
20
21
|
function Year({year, posts}: YearProp) {
|
|
21
22
|
return (
|
|
22
23
|
<>
|
|
23
|
-
<h3
|
|
24
|
+
<Heading as="h3" id={year}>
|
|
25
|
+
{year}
|
|
26
|
+
</Heading>
|
|
24
27
|
<ul>
|
|
25
28
|
{posts.map((post) => (
|
|
26
29
|
<li key={post.metadata.date}>
|
|
@@ -81,7 +84,9 @@ export default function BlogArchive({archive}: Props): JSX.Element {
|
|
|
81
84
|
<Layout>
|
|
82
85
|
<header className="hero hero--primary">
|
|
83
86
|
<div className="container">
|
|
84
|
-
<h1 className="hero__title">
|
|
87
|
+
<Heading as="h1" className="hero__title">
|
|
88
|
+
{title}
|
|
89
|
+
</Heading>
|
|
85
90
|
<p className="hero__subtitle">{description}</p>
|
|
86
91
|
</div>
|
|
87
92
|
</header>
|
|
@@ -15,6 +15,7 @@ import BlogPostPaginator from '@theme/BlogPostPaginator';
|
|
|
15
15
|
import BlogPostPageMetadata from '@theme/BlogPostPage/Metadata';
|
|
16
16
|
import TOC from '@theme/TOC';
|
|
17
17
|
import type {Props} from '@theme/BlogPostPage';
|
|
18
|
+
import Unlisted from '@theme/Unlisted';
|
|
18
19
|
import type {BlogSidebar} from '@docusaurus/plugin-content-blog';
|
|
19
20
|
|
|
20
21
|
function BlogPostPageContent({
|
|
@@ -25,7 +26,7 @@ function BlogPostPageContent({
|
|
|
25
26
|
children: ReactNode;
|
|
26
27
|
}): JSX.Element {
|
|
27
28
|
const {metadata, toc} = useBlogPost();
|
|
28
|
-
const {nextItem, prevItem, frontMatter} = metadata;
|
|
29
|
+
const {nextItem, prevItem, frontMatter, unlisted} = metadata;
|
|
29
30
|
const {
|
|
30
31
|
hide_table_of_contents: hideTableOfContents,
|
|
31
32
|
toc_min_heading_level: tocMinHeadingLevel,
|
|
@@ -43,6 +44,7 @@ function BlogPostPageContent({
|
|
|
43
44
|
/>
|
|
44
45
|
) : undefined
|
|
45
46
|
}>
|
|
47
|
+
{unlisted && <Unlisted />}
|
|
46
48
|
<BlogPostItem>{children}</BlogPostItem>
|
|
47
49
|
|
|
48
50
|
{(nextItem || prevItem) && (
|
|
@@ -9,11 +9,13 @@ import React from 'react';
|
|
|
9
9
|
import clsx from 'clsx';
|
|
10
10
|
import Link from '@docusaurus/Link';
|
|
11
11
|
import {translate} from '@docusaurus/Translate';
|
|
12
|
+
import {useVisibleBlogSidebarItems} from '@docusaurus/theme-common/internal';
|
|
12
13
|
import type {Props} from '@theme/BlogSidebar/Desktop';
|
|
13
14
|
|
|
14
15
|
import styles from './styles.module.css';
|
|
15
16
|
|
|
16
17
|
export default function BlogSidebarDesktop({sidebar}: Props): JSX.Element {
|
|
18
|
+
const items = useVisibleBlogSidebarItems(sidebar.items);
|
|
17
19
|
return (
|
|
18
20
|
<aside className="col col--3">
|
|
19
21
|
<nav
|
|
@@ -27,7 +29,7 @@ export default function BlogSidebarDesktop({sidebar}: Props): JSX.Element {
|
|
|
27
29
|
{sidebar.title}
|
|
28
30
|
</div>
|
|
29
31
|
<ul className={clsx(styles.sidebarItemList, 'clean-list')}>
|
|
30
|
-
{
|
|
32
|
+
{items.map((item) => (
|
|
31
33
|
<li key={item.permalink} className={styles.sidebarItem}>
|
|
32
34
|
<Link
|
|
33
35
|
isNavLink
|
|
@@ -7,13 +7,15 @@
|
|
|
7
7
|
|
|
8
8
|
import React from 'react';
|
|
9
9
|
import Link from '@docusaurus/Link';
|
|
10
|
+
import {useVisibleBlogSidebarItems} from '@docusaurus/theme-common/internal';
|
|
10
11
|
import {NavbarSecondaryMenuFiller} from '@docusaurus/theme-common';
|
|
11
12
|
import type {Props} from '@theme/BlogSidebar/Mobile';
|
|
12
13
|
|
|
13
14
|
function BlogSidebarMobileSecondaryMenu({sidebar}: Props): JSX.Element {
|
|
15
|
+
const items = useVisibleBlogSidebarItems(sidebar.items);
|
|
14
16
|
return (
|
|
15
17
|
<ul className="menu__list">
|
|
16
|
-
{
|
|
18
|
+
{items.map((item) => (
|
|
17
19
|
<li key={item.permalink} className="menu__list-item">
|
|
18
20
|
<Link
|
|
19
21
|
isNavLink
|