From e4ecffe41878728acff55a8370bd7440706c02f7 Mon Sep 17 00:00:00 2001 From: Abdullah Saud <43924652+Abdullah-03@users.noreply.github.com> Date: Thu, 11 Apr 2024 21:26:11 +0500 Subject: [PATCH] fix(docs): sidebar item label impact the pagination label of docs (#10025) Co-authored-by: sebastien --- .../src/sidebars/__tests__/utils.test.ts | 34 +++++++++++++++++++ .../src/sidebars/utils.ts | 15 ++++++-- 2 files changed, 46 insertions(+), 3 deletions(-) diff --git a/packages/docusaurus-plugin-content-docs/src/sidebars/__tests__/utils.test.ts b/packages/docusaurus-plugin-content-docs/src/sidebars/__tests__/utils.test.ts index 5c69d9ed8a..dcc17131a5 100644 --- a/packages/docusaurus-plugin-content-docs/src/sidebars/__tests__/utils.test.ts +++ b/packages/docusaurus-plugin-content-docs/src/sidebars/__tests__/utils.test.ts @@ -719,6 +719,22 @@ describe('toDocNavigationLink', () => { } as PropNavigationLink); }); + it('with sidebar item label', () => { + expect( + toDocNavigationLink( + testDoc({ + title: 'Doc Title', + permalink: '/docPermalink', + frontMatter: {}, + }), + {sidebarItemLabel: 'Doc sidebar item label'}, + ), + ).toEqual({ + title: 'Doc sidebar item label', + permalink: '/docPermalink', + } as PropNavigationLink); + }); + it('with pagination_label + sidebar_label front matter', () => { expect( toDocNavigationLink( @@ -736,6 +752,24 @@ describe('toDocNavigationLink', () => { permalink: '/docPermalink', } as PropNavigationLink); }); + + it('with sidebar_label + sidebar item label', () => { + expect( + toDocNavigationLink( + testDoc({ + title: 'Doc Title', + permalink: '/docPermalink', + frontMatter: { + sidebar_label: 'sidebar_label', + }, + }), + {sidebarItemLabel: 'Doc sidebar item label'}, + ), + ).toEqual({ + title: 'sidebar_label', + permalink: '/docPermalink', + } as PropNavigationLink); + }); }); describe('toNavigationLink', () => { diff --git a/packages/docusaurus-plugin-content-docs/src/sidebars/utils.ts b/packages/docusaurus-plugin-content-docs/src/sidebars/utils.ts index e716be9ba0..2f785a0320 100644 --- a/packages/docusaurus-plugin-content-docs/src/sidebars/utils.ts +++ b/packages/docusaurus-plugin-content-docs/src/sidebars/utils.ts @@ -478,7 +478,10 @@ Available document ids are: }; } -export function toDocNavigationLink(doc: DocMetadataBase): PropNavigationLink { +export function toDocNavigationLink( + doc: DocMetadataBase, + options?: {sidebarItemLabel?: string | undefined}, +): PropNavigationLink { const { title, permalink, @@ -487,7 +490,11 @@ export function toDocNavigationLink(doc: DocMetadataBase): PropNavigationLink { sidebar_label: sidebarLabel, }, } = doc; - return {title: paginationLabel ?? sidebarLabel ?? title, permalink}; + return { + title: + paginationLabel ?? sidebarLabel ?? options?.sidebarItemLabel ?? title, + permalink, + }; } export function toNavigationLink( @@ -516,5 +523,7 @@ export function toNavigationLink( permalink: navigationItem.link.permalink, }; } - return toDocNavigationLink(getDocById(navigationItem.id)); + return toDocNavigationLink(getDocById(navigationItem.id), { + sidebarItemLabel: navigationItem?.label, + }); }