@docusaurus/theme-classic 0.0.0-4963 → 0.0.0-4966

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.
@@ -30,20 +30,24 @@ function BreadcrumbsItemLink({children, href, isLast}) {
30
30
  return href ? (
31
31
  <Link className={className} href={href} itemProp="item">
32
32
  <span itemProp="name">{children}</span>
33
- </Link>
33
+ </Link> // TODO Google search console doesn't like breadcrumb items without href.
34
34
  ) : (
35
- <span className={className} itemProp="item name">
36
- {children}
37
- </span>
35
+ // The schema doesn't seem to require `id` for each `item`, although Google
36
+ // insist to infer one, even if it's invalid. Removing `itemProp="item
37
+ // name"` for now, since I don't know how to properly fix it.
38
+ // See https://github.com/facebook/docusaurus/issues/7241
39
+ <span className={className}>{children}</span>
38
40
  );
39
41
  } // TODO move to design system folder
40
42
 
41
- function BreadcrumbsItem({children, active, index}) {
43
+ function BreadcrumbsItem({children, active, index, addMicrodata}) {
42
44
  return (
43
45
  <li
44
- itemScope
45
- itemProp="itemListElement"
46
- itemType="https://schema.org/ListItem"
46
+ {...(addMicrodata && {
47
+ itemScope: true,
48
+ itemProp: 'itemListElement',
49
+ itemType: 'https://schema.org/ListItem',
50
+ })}
47
51
  className={clsx('breadcrumbs__item', {
48
52
  'breadcrumbs__item--active': active,
49
53
  })}>
@@ -89,7 +93,11 @@ export default function DocBreadcrumbs() {
89
93
  {breadcrumbs.map((item, idx) => {
90
94
  const isLast = idx === breadcrumbs.length - 1;
91
95
  return (
92
- <BreadcrumbsItem key={idx} active={isLast} index={idx}>
96
+ <BreadcrumbsItem
97
+ key={idx}
98
+ active={isLast}
99
+ index={idx}
100
+ addMicrodata={!!item.href}>
93
101
  <BreadcrumbsItemLink href={item.href} isLast={isLast}>
94
102
  {item.label}
95
103
  </BreadcrumbsItemLink>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@docusaurus/theme-classic",
3
- "version": "0.0.0-4963",
3
+ "version": "0.0.0-4966",
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-4963",
25
- "@docusaurus/plugin-content-blog": "0.0.0-4963",
26
- "@docusaurus/plugin-content-docs": "0.0.0-4963",
27
- "@docusaurus/plugin-content-pages": "0.0.0-4963",
28
- "@docusaurus/theme-common": "0.0.0-4963",
29
- "@docusaurus/theme-translations": "0.0.0-4963",
30
- "@docusaurus/utils": "0.0.0-4963",
31
- "@docusaurus/utils-common": "0.0.0-4963",
32
- "@docusaurus/utils-validation": "0.0.0-4963",
24
+ "@docusaurus/core": "0.0.0-4966",
25
+ "@docusaurus/plugin-content-blog": "0.0.0-4966",
26
+ "@docusaurus/plugin-content-docs": "0.0.0-4966",
27
+ "@docusaurus/plugin-content-pages": "0.0.0-4966",
28
+ "@docusaurus/theme-common": "0.0.0-4966",
29
+ "@docusaurus/theme-translations": "0.0.0-4966",
30
+ "@docusaurus/utils": "0.0.0-4966",
31
+ "@docusaurus/utils-common": "0.0.0-4966",
32
+ "@docusaurus/utils-validation": "0.0.0-4966",
33
33
  "@mdx-js/react": "^1.6.22",
34
34
  "clsx": "^1.1.1",
35
35
  "copy-text-to-clipboard": "^3.0.1",
@@ -46,8 +46,8 @@
46
46
  "@babel/cli": "^7.17.10",
47
47
  "@babel/core": "^7.17.10",
48
48
  "@babel/preset-typescript": "^7.16.7",
49
- "@docusaurus/module-type-aliases": "0.0.0-4963",
50
- "@docusaurus/types": "0.0.0-4963",
49
+ "@docusaurus/module-type-aliases": "0.0.0-4966",
50
+ "@docusaurus/types": "0.0.0-4966",
51
51
  "@types/mdx-js__react": "^1.5.5",
52
52
  "@types/nprogress": "^0.2.0",
53
53
  "@types/prismjs": "^1.26.0",
@@ -64,5 +64,5 @@
64
64
  "engines": {
65
65
  "node": ">=14"
66
66
  },
67
- "gitHead": "078a95a46e5fdfd3b6d20521b88f303031d971fa"
67
+ "gitHead": "f77d186bac2cce4eae830ad2e141e37af7f739ee"
68
68
  }
@@ -40,9 +40,12 @@ function BreadcrumbsItemLink({
40
40
  <span itemProp="name">{children}</span>
41
41
  </Link>
42
42
  ) : (
43
- <span className={className} itemProp="item name">
44
- {children}
45
- </span>
43
+ // TODO Google search console doesn't like breadcrumb items without href.
44
+ // The schema doesn't seem to require `id` for each `item`, although Google
45
+ // insist to infer one, even if it's invalid. Removing `itemProp="item
46
+ // name"` for now, since I don't know how to properly fix it.
47
+ // See https://github.com/facebook/docusaurus/issues/7241
48
+ <span className={className}>{children}</span>
46
49
  );
47
50
  }
48
51
 
@@ -51,16 +54,20 @@ function BreadcrumbsItem({
51
54
  children,
52
55
  active,
53
56
  index,
57
+ addMicrodata,
54
58
  }: {
55
59
  children: ReactNode;
56
60
  active?: boolean;
57
61
  index: number;
62
+ addMicrodata: boolean;
58
63
  }): JSX.Element {
59
64
  return (
60
65
  <li
61
- itemScope
62
- itemProp="itemListElement"
63
- itemType="https://schema.org/ListItem"
66
+ {...(addMicrodata && {
67
+ itemScope: true,
68
+ itemProp: 'itemListElement',
69
+ itemType: 'https://schema.org/ListItem',
70
+ })}
64
71
  className={clsx('breadcrumbs__item', {
65
72
  'breadcrumbs__item--active': active,
66
73
  })}>
@@ -106,7 +113,11 @@ export default function DocBreadcrumbs(): JSX.Element | null {
106
113
  {breadcrumbs.map((item, idx) => {
107
114
  const isLast = idx === breadcrumbs.length - 1;
108
115
  return (
109
- <BreadcrumbsItem key={idx} active={isLast} index={idx}>
116
+ <BreadcrumbsItem
117
+ key={idx}
118
+ active={isLast}
119
+ index={idx}
120
+ addMicrodata={!!item.href}>
110
121
  <BreadcrumbsItemLink href={item.href} isLast={isLast}>
111
122
  {item.label}
112
123
  </BreadcrumbsItemLink>