@docusaurus/theme-classic 0.0.0-4539 → 0.0.0-4545
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-next/theme/DocSidebarItem/index.js +21 -0
- package/lib-next/theme/DocSidebarItem/styles.module.css +5 -0
- package/lib-next/theme/LayoutHead/index.js +4 -0
- package/package.json +13 -13
- package/src/theme/DocSidebarItem/index.tsx +26 -0
- package/src/theme/DocSidebarItem/styles.module.css +5 -0
- package/src/theme/LayoutHead/index.tsx +4 -0
|
@@ -29,6 +29,9 @@ export default function DocSidebarItem({item, ...props}) {
|
|
|
29
29
|
case 'category':
|
|
30
30
|
return <DocSidebarItemCategory item={item} {...props} />;
|
|
31
31
|
|
|
32
|
+
case 'html':
|
|
33
|
+
return <DocSidebarItemHtml item={item} {...props} />;
|
|
34
|
+
|
|
32
35
|
case 'link':
|
|
33
36
|
default:
|
|
34
37
|
return <DocSidebarItemLink item={item} {...props} />;
|
|
@@ -202,6 +205,24 @@ function DocSidebarItemCategory({
|
|
|
202
205
|
);
|
|
203
206
|
}
|
|
204
207
|
|
|
208
|
+
function DocSidebarItemHtml({item, level, index}) {
|
|
209
|
+
const {value, defaultStyle, className} = item;
|
|
210
|
+
return (
|
|
211
|
+
<li
|
|
212
|
+
className={clsx(
|
|
213
|
+
ThemeClassNames.docs.docSidebarItemLink,
|
|
214
|
+
ThemeClassNames.docs.docSidebarItemLinkLevel(level),
|
|
215
|
+
defaultStyle && `${styles.menuHtmlItem} menu__list-item`,
|
|
216
|
+
className,
|
|
217
|
+
)}
|
|
218
|
+
key={index} // eslint-disable-next-line react/no-danger
|
|
219
|
+
dangerouslySetInnerHTML={{
|
|
220
|
+
__html: value,
|
|
221
|
+
}}
|
|
222
|
+
/>
|
|
223
|
+
);
|
|
224
|
+
}
|
|
225
|
+
|
|
205
226
|
function DocSidebarItemLink({
|
|
206
227
|
item,
|
|
207
228
|
onItemClick,
|
|
@@ -15,6 +15,7 @@ import {
|
|
|
15
15
|
useTitleFormatter,
|
|
16
16
|
useAlternatePageUtils,
|
|
17
17
|
useThemeConfig,
|
|
18
|
+
keyboardFocusedClassName,
|
|
18
19
|
} from '@docusaurus/theme-common';
|
|
19
20
|
import {useLocation} from '@docusaurus/router'; // Useful for SEO
|
|
20
21
|
// See https://developers.google.com/search/docs/advanced/crawling/localized-versions
|
|
@@ -94,6 +95,9 @@ export default function LayoutHead(props) {
|
|
|
94
95
|
<title>{pageTitle}</title>
|
|
95
96
|
<meta property="og:title" content={pageTitle} />
|
|
96
97
|
<meta name="twitter:card" content="summary_large_image" />
|
|
98
|
+
{/* The keyboard focus class name need to be applied when SSR so links
|
|
99
|
+
are outlined when JS is disabled */}
|
|
100
|
+
<body className={keyboardFocusedClassName} />
|
|
97
101
|
</Head>
|
|
98
102
|
|
|
99
103
|
{/* image can override the default image */}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@docusaurus/theme-classic",
|
|
3
|
-
"version": "0.0.0-
|
|
3
|
+
"version": "0.0.0-4545",
|
|
4
4
|
"description": "Classic theme for Docusaurus",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"types": "src/theme-classic.d.ts",
|
|
@@ -21,15 +21,15 @@
|
|
|
21
21
|
"format:lib-next": "prettier --config ../../.prettierrc --write \"lib-next/**/*.{js,ts,jsx,tsc}\""
|
|
22
22
|
},
|
|
23
23
|
"dependencies": {
|
|
24
|
-
"@docusaurus/core": "0.0.0-
|
|
25
|
-
"@docusaurus/plugin-content-blog": "0.0.0-
|
|
26
|
-
"@docusaurus/plugin-content-docs": "0.0.0-
|
|
27
|
-
"@docusaurus/plugin-content-pages": "0.0.0-
|
|
28
|
-
"@docusaurus/theme-common": "0.0.0-
|
|
29
|
-
"@docusaurus/theme-translations": "0.0.0-
|
|
30
|
-
"@docusaurus/utils": "0.0.0-
|
|
31
|
-
"@docusaurus/utils-common": "0.0.0-
|
|
32
|
-
"@docusaurus/utils-validation": "0.0.0-
|
|
24
|
+
"@docusaurus/core": "0.0.0-4545",
|
|
25
|
+
"@docusaurus/plugin-content-blog": "0.0.0-4545",
|
|
26
|
+
"@docusaurus/plugin-content-docs": "0.0.0-4545",
|
|
27
|
+
"@docusaurus/plugin-content-pages": "0.0.0-4545",
|
|
28
|
+
"@docusaurus/theme-common": "0.0.0-4545",
|
|
29
|
+
"@docusaurus/theme-translations": "0.0.0-4545",
|
|
30
|
+
"@docusaurus/utils": "0.0.0-4545",
|
|
31
|
+
"@docusaurus/utils-common": "0.0.0-4545",
|
|
32
|
+
"@docusaurus/utils-validation": "0.0.0-4545",
|
|
33
33
|
"@mdx-js/react": "^1.6.21",
|
|
34
34
|
"clsx": "^1.1.1",
|
|
35
35
|
"copy-text-to-clipboard": "^3.0.1",
|
|
@@ -42,8 +42,8 @@
|
|
|
42
42
|
"rtlcss": "^3.3.0"
|
|
43
43
|
},
|
|
44
44
|
"devDependencies": {
|
|
45
|
-
"@docusaurus/module-type-aliases": "0.0.0-
|
|
46
|
-
"@docusaurus/types": "0.0.0-
|
|
45
|
+
"@docusaurus/module-type-aliases": "0.0.0-4545",
|
|
46
|
+
"@docusaurus/types": "0.0.0-4545",
|
|
47
47
|
"@types/mdx-js__react": "^1.5.4",
|
|
48
48
|
"@types/parse-numeric-range": "^0.0.1",
|
|
49
49
|
"@types/prismjs": "^1.26.0",
|
|
@@ -62,5 +62,5 @@
|
|
|
62
62
|
"engines": {
|
|
63
63
|
"node": ">=14"
|
|
64
64
|
},
|
|
65
|
-
"gitHead": "
|
|
65
|
+
"gitHead": "2fd48f443b78b58b3b511f797a0050d407370f07"
|
|
66
66
|
}
|
|
@@ -32,6 +32,7 @@ import type {
|
|
|
32
32
|
|
|
33
33
|
import styles from './styles.module.css';
|
|
34
34
|
import useIsBrowser from '@docusaurus/useIsBrowser';
|
|
35
|
+
import type {SidebarItemHtml} from '@docusaurus/plugin-content-docs/src/sidebars/types';
|
|
35
36
|
|
|
36
37
|
export default function DocSidebarItem({
|
|
37
38
|
item,
|
|
@@ -40,6 +41,8 @@ export default function DocSidebarItem({
|
|
|
40
41
|
switch (item.type) {
|
|
41
42
|
case 'category':
|
|
42
43
|
return <DocSidebarItemCategory item={item} {...props} />;
|
|
44
|
+
case 'html':
|
|
45
|
+
return <DocSidebarItemHtml item={item} {...props} />;
|
|
43
46
|
case 'link':
|
|
44
47
|
default:
|
|
45
48
|
return <DocSidebarItemLink item={item} {...props} />;
|
|
@@ -216,6 +219,29 @@ function DocSidebarItemCategory({
|
|
|
216
219
|
);
|
|
217
220
|
}
|
|
218
221
|
|
|
222
|
+
function DocSidebarItemHtml({
|
|
223
|
+
item,
|
|
224
|
+
level,
|
|
225
|
+
index,
|
|
226
|
+
}: Props & {item: SidebarItemHtml}) {
|
|
227
|
+
const {value, defaultStyle, className} = item;
|
|
228
|
+
return (
|
|
229
|
+
<li
|
|
230
|
+
className={clsx(
|
|
231
|
+
ThemeClassNames.docs.docSidebarItemLink,
|
|
232
|
+
ThemeClassNames.docs.docSidebarItemLinkLevel(level),
|
|
233
|
+
defaultStyle && `${styles.menuHtmlItem} menu__list-item`,
|
|
234
|
+
className,
|
|
235
|
+
)}
|
|
236
|
+
key={index}
|
|
237
|
+
// eslint-disable-next-line react/no-danger
|
|
238
|
+
dangerouslySetInnerHTML={{
|
|
239
|
+
__html: value,
|
|
240
|
+
}}
|
|
241
|
+
/>
|
|
242
|
+
);
|
|
243
|
+
}
|
|
244
|
+
|
|
219
245
|
function DocSidebarItemLink({
|
|
220
246
|
item,
|
|
221
247
|
onItemClick,
|
|
@@ -17,6 +17,7 @@ import {
|
|
|
17
17
|
useTitleFormatter,
|
|
18
18
|
useAlternatePageUtils,
|
|
19
19
|
useThemeConfig,
|
|
20
|
+
keyboardFocusedClassName,
|
|
20
21
|
} from '@docusaurus/theme-common';
|
|
21
22
|
import {useLocation} from '@docusaurus/router';
|
|
22
23
|
|
|
@@ -101,6 +102,9 @@ export default function LayoutHead(props: Props): JSX.Element {
|
|
|
101
102
|
<title>{pageTitle}</title>
|
|
102
103
|
<meta property="og:title" content={pageTitle} />
|
|
103
104
|
<meta name="twitter:card" content="summary_large_image" />
|
|
105
|
+
{/* The keyboard focus class name need to be applied when SSR so links
|
|
106
|
+
are outlined when JS is disabled */}
|
|
107
|
+
<body className={keyboardFocusedClassName} />
|
|
104
108
|
</Head>
|
|
105
109
|
|
|
106
110
|
{/* image can override the default image */}
|