diff --git a/src/layouts/ReferenceLayout.astro b/src/layouts/ReferenceLayout.astro index b3df8d82c7..eab6eba024 100644 --- a/src/layouts/ReferenceLayout.astro +++ b/src/layouts/ReferenceLayout.astro @@ -140,10 +140,20 @@ const jumpCategoryData = categoryData.length === 1 ? [...categoryData, ...categoryData[0].subcats] : categoryData; -const pageJumpToLinks: JumpToLink[] = jumpCategoryData.map((category) => ({ - label: category.name as string, - url: `#${category.name}`, -})); +const pageJumpToLinks: JumpToLink[] = jumpCategoryData + .map((categoryItem) => ({ + label: categoryItem.name as string, + url: `#${categoryItem.name}`, + })) + .filter((link, index) => { + if (link.label === undefined) { + return false; // Completely remove all undefined labels + } + if (categoryData.length === 1 && index === 1) { + return false; // Specifically remove the redundant subcat under main cat + } + return true; + }); const pageJumpToState: JumpToState = { links: pageJumpToLinks,