Skip to content

Commit

Permalink
fix(docs): forward doc frontMatter.sidebar_custom_props to linking si…
Browse files Browse the repository at this point in the history
…debar category (#7638)
  • Loading branch information
slorber committed Jun 16, 2022
1 parent 20e8e90 commit 6df379c
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 1 deletion.
20 changes: 19 additions & 1 deletion packages/docusaurus-plugin-content-docs/src/props.ts
Expand Up @@ -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 {
const {link, ...rest} = item;
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 {
Expand Down
1 change: 1 addition & 0 deletions website/docs/api/plugins/plugin-content-docs.md
Expand Up @@ -273,6 +273,7 @@ Accepted fields:
| `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_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_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. |
Expand Down

0 comments on commit 6df379c

Please sign in to comment.