mirror of
https://github.com/facebook/docusaurus.git
synced 2025-05-15 18:17:35 +02:00
fix(docs): forward doc frontMatter.sidebar_custom_props to linking sidebar category (#7638)
This commit is contained in:
parent
20e8e90762
commit
6df379ca6f
2 changed files with 20 additions and 1 deletions
|
@ -73,10 +73,28 @@ Available document ids are:
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function getCategoryLinkCustomProps(
|
||||||
|
link: SidebarItemCategoryLink | undefined,
|
||||||
|
) {
|
||||||
|
switch (link?.type) {
|
||||||
|
case 'doc':
|
||||||
|
return getDocById(link.id).frontMatter.sidebar_custom_props;
|
||||||
|
default:
|
||||||
|
return undefined;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function convertCategory(item: SidebarItemCategory): PropSidebarItemCategory {
|
function convertCategory(item: SidebarItemCategory): PropSidebarItemCategory {
|
||||||
const {link, ...rest} = item;
|
const {link, ...rest} = item;
|
||||||
const href = getCategoryLinkHref(link);
|
const href = getCategoryLinkHref(link);
|
||||||
return {...rest, items: item.items.map(normalizeItem), ...(href && {href})};
|
const customProps = item.customProps ?? getCategoryLinkCustomProps(link);
|
||||||
|
|
||||||
|
return {
|
||||||
|
...rest,
|
||||||
|
items: item.items.map(normalizeItem),
|
||||||
|
...(href && {href}),
|
||||||
|
...(customProps && {customProps}),
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
function normalizeItem(item: SidebarItem): PropSidebarItem {
|
function normalizeItem(item: SidebarItem): PropSidebarItem {
|
||||||
|
|
|
@ -273,6 +273,7 @@ Accepted fields:
|
||||||
| `sidebar_label` | `string` | `title` | The text shown in the document sidebar for this document. |
|
| `sidebar_label` | `string` | `title` | The text shown in the document sidebar for this document. |
|
||||||
| `sidebar_position` | `number` | Default ordering | Controls the position of a doc inside the generated sidebar slice when using `autogenerated` sidebar items. See also [Autogenerated sidebar metadata](/docs/sidebar#autogenerated-sidebar-metadata). |
|
| `sidebar_position` | `number` | Default ordering | Controls the position of a doc inside the generated sidebar slice when using `autogenerated` sidebar items. See also [Autogenerated sidebar metadata](/docs/sidebar#autogenerated-sidebar-metadata). |
|
||||||
| `sidebar_class_name` | `string` | `undefined` | Gives the corresponding sidebar label a special class name when using autogenerated sidebars. |
|
| `sidebar_class_name` | `string` | `undefined` | Gives the corresponding sidebar label a special class name when using autogenerated sidebars. |
|
||||||
|
| `sidebar_custom_props` | `string` | `undefined` | Assign custom metadata to the sidebar item referencing this doc. |
|
||||||
| `hide_title` | `boolean` | `false` | Whether to hide the title at the top of the doc. It only hides a title declared through the front matter, and have no effect on a Markdown title at the top of your document. |
|
| `hide_title` | `boolean` | `false` | Whether to hide the title at the top of the doc. It only hides a title declared through the front matter, and have no effect on a Markdown title at the top of your document. |
|
||||||
| `hide_table_of_contents` | `boolean` | `false` | Whether to hide the table of contents to the right. |
|
| `hide_table_of_contents` | `boolean` | `false` | Whether to hide the table of contents to the right. |
|
||||||
| `toc_min_heading_level` | `number` | `2` | The minimum heading level shown in the table of contents. Must be between 2 and 6 and lower or equal to the max value. |
|
| `toc_min_heading_level` | `number` | `2` | The minimum heading level shown in the table of contents. Must be between 2 and 6 and lower or equal to the max value. |
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue