fix(core): various broken anchor link fixes (#9732)

This commit is contained in:
Sébastien Lorber 2024-01-12 16:09:45 +01:00 committed by sebastien
parent 7b1b89041f
commit ac2b5ddd95
63 changed files with 3180 additions and 95 deletions

View file

@ -33,7 +33,7 @@ website
`website/src/theme/Navbar.js` takes precedence whenever `@theme/Navbar` is imported. This behavior is called component swizzling. If you are familiar with Objective C where a function's implementation can be swapped during runtime, it's the exact same concept here with changing the target `@theme/Navbar` is pointing to!
We already talked about how the "userland theme" in `src/theme` can re-use a theme component through the [`@theme-original`](#wrapping) alias. One theme package can also wrap a component from another theme, by importing the component from the initial theme, using the `@theme-init` import.
We already talked about how the "userland theme" in `src/theme` can re-use a theme component through the [`@theme-original`](../swizzling.mdx#wrapping) alias. One theme package can also wrap a component from another theme, by importing the component from the initial theme, using the `@theme-init` import.
Here's an example of using this feature to enhance the default theme `CodeBlock` component with a `react-live` playground feature.

View file

@ -25,7 +25,7 @@ npm install --save @docusaurus/plugin-content-blog
If you use the preset `@docusaurus/preset-classic`, you don't need to install this plugin as a dependency.
You can configure this plugin through the [preset options](#ex-config-preset).
You can configure this plugin through the [preset options](../../using-plugins.mdx#docusauruspreset-classic).
:::

View file

@ -19,7 +19,7 @@ npm install --save @docusaurus/plugin-content-docs
If you use the preset `@docusaurus/preset-classic`, you don't need to install this plugin as a dependency.
You can configure this plugin through the preset options.
You can configure this plugin through the [preset options](../../using-plugins.mdx#docusauruspreset-classic).
:::

View file

@ -19,7 +19,7 @@ npm install --save @docusaurus/plugin-content-pages
If you use the preset `@docusaurus/preset-classic`, you don't need to install this plugin as a dependency.
You can configure this plugin through the preset options.
You can configure this plugin through the [preset options](../../using-plugins.mdx#docusauruspreset-classic).
:::

View file

@ -49,7 +49,7 @@ npm install --save @docusaurus/plugin-debug
If you use the preset `@docusaurus/preset-classic`, you don't need to install this plugin as a dependency.
You can configure this plugin through the preset options.
You can configure this plugin through the [preset options](../../using-plugins.mdx#docusauruspreset-classic).
:::

View file

@ -35,7 +35,7 @@ npm install --save @docusaurus/plugin-google-analytics
If you use the preset `@docusaurus/preset-classic`, you don't need to install this plugin as a dependency.
You can configure this plugin through the preset options.
You can configure this plugin through the [preset options](../../using-plugins.mdx#docusauruspreset-classic).
:::

View file

@ -31,7 +31,7 @@ npm install --save @docusaurus/plugin-google-gtag
If you use the preset `@docusaurus/preset-classic`, you don't need to install this plugin as a dependency.
You can configure this plugin through the preset options.
You can configure this plugin through the [preset options](../../using-plugins.mdx#docusauruspreset-classic).
:::

View file

@ -31,7 +31,7 @@ npm install --save @docusaurus/plugin-google-tag-manager
If you use the preset `@docusaurus/preset-classic`, you don't need to install this plugin as a dependency.
You can configure this plugin through the preset options.
You can configure this plugin through the [preset options](../../using-plugins.mdx#docusauruspreset-classic).
:::

View file

@ -25,7 +25,7 @@ npm install --save @docusaurus/plugin-sitemap
If you use the preset `@docusaurus/preset-classic`, you don't need to install this plugin as a dependency.
You can configure this plugin through the [preset options](#ex-config-preset).
You can configure this plugin through the [preset options](../../using-plugins.mdx#docusauruspreset-classic).
:::

View file

@ -627,24 +627,18 @@ Usage example:
```js title="MyHeading.js"
import useBrokenLinks from '@docusaurus/useBrokenLinks';
export default function MyHeading({id, ...props}): JSX.Element {
const brokenLinks = useBrokenLinks();
brokenLinks.collectAnchor(id);
return <h2 id={id}>Heading</h2>;
export default function MyHeading(props) {
useBrokenLinks().collectAnchor(props.id);
return <h2 {...props} />;
}
```
```js title="MyLink.js"
import useBrokenLinks from '@docusaurus/useBrokenLinks';
export default function MyLink({targetLink, ...props}): JSX.Element {
const brokenLinks = useBrokenLinks();
brokenLinks.collectLink(targetLink);
return <a href={targetLink}>Link</a>;
export default function MyLink(props) {
useBrokenLinks().collectLink(props.href);
return <a {...props} />;
}
```

View file

@ -61,11 +61,11 @@ export default {
};
```
If you use the doc shorthand or [autogenerated](#sidebar-item-autogenerated) sidebar, you would lose the ability to customize the sidebar label through item definition. You can, however, use the `sidebar_label` Markdown front matter within that doc, which has higher precedence over the `label` key in the sidebar item. Similarly, you can use `sidebar_custom_props` to declare custom metadata for a doc page.
If you use the doc shorthand or [autogenerated](autogenerated.mdx) sidebar, you would lose the ability to customize the sidebar label through item definition. You can, however, use the `sidebar_label` Markdown front matter within that doc, which has higher precedence over the `label` key in the sidebar item. Similarly, you can use `sidebar_custom_props` to declare custom metadata for a doc page.
:::note
A `doc` item sets an [implicit sidebar association](#sidebar-association). Don't assign the same doc to multiple sidebars: change the type to `ref` instead.
A `doc` item sets an [implicit sidebar association](./multiple-sidebars.mdx#sidebar-association). Don't assign the same doc to multiple sidebars: change the type to `ref` instead.
:::

View file

@ -24,7 +24,7 @@ The migration CLI migrates:
To use the migration CLI, follow these steps:
1. Before using the migration CLI, ensure that `/docs`, `/blog`, `/static`, `sidebars.json`, `siteConfig.js`, `package.json` follow the [structure](#) shown at the start of this page.
1. Before using the migration CLI, ensure that `/docs`, `/blog`, `/static`, `sidebars.json`, `siteConfig.js`, `package.json` follow the expected structure.
2. To migrate your v1 website, run the migration CLI with the appropriate filesystem paths: