From 3d87711a0c1cb48ab99756d5def3bf1708aab926 Mon Sep 17 00:00:00 2001 From: babayaga Date: Tue, 30 Dec 2025 00:14:58 +0100 Subject: [PATCH] docs | sidebar --- .../polymech/src/components/sidebar/config.ts | 18 +++++++++--------- .../polymech/src/components/sidebar/utils.ts | 3 +++ packages/polymech/src/config/sidebar.ts | 2 +- 3 files changed, 13 insertions(+), 10 deletions(-) diff --git a/packages/polymech/src/components/sidebar/config.ts b/packages/polymech/src/components/sidebar/config.ts index fa541fc..ae7b1ab 100644 --- a/packages/polymech/src/components/sidebar/config.ts +++ b/packages/polymech/src/components/sidebar/config.ts @@ -6,19 +6,19 @@ import type { SidebarGroup } from './types.js'; export const sidebarConfig: SidebarGroup[] = [ { - label: 'sidebar.guides', - items: [ - // Each item here is one entry in the navigation menu. - { label: 'sidebar.example-guide', slug: 'guides/example', href: '/guides/example/' }, - ], - }, - { - label: 'sidebar.resources', - autogenerate: { + label: 'Resources', + autogenerate: { directory: 'resources', collapsed: false, sortBy: 'alphabetical' // Default alphabetical sorting }, + }, + { + label: 'Guides', + items: [ + // Each item here is one entry in the navigation menu. + { label: 'sidebar.example-guide', slug: 'guides/example', href: '/guides/example/' }, + ], } ]; diff --git a/packages/polymech/src/components/sidebar/utils.ts b/packages/polymech/src/components/sidebar/utils.ts index 7ae00df..dca8e72 100644 --- a/packages/polymech/src/components/sidebar/utils.ts +++ b/packages/polymech/src/components/sidebar/utils.ts @@ -186,6 +186,7 @@ function buildSidebarFromStructure( ): (SidebarLink | SidebarGroup)[] { const items: (SidebarLink | SidebarGroup)[] = []; // Process root level files first + if (structure['']?.files) { const rootFiles = structure[''].files .filter(entry => !isPageHidden(entry)) @@ -211,6 +212,7 @@ function buildSidebarFromStructure( subItems.push(...subFiles); } + // Recursively add nested subdirectories if (Object.keys(dirData.subdirs).length > 0) { const nestedStructure = { '': { files: [], subdirs: dirData.subdirs } } @@ -382,6 +384,7 @@ export async function processSidebarGroup(group: SidebarGroup, currentPath?: str locale } ); + processedGroup.items = items; processedGroup.collapsed = group.autogenerate.collapsed ?? group.collapsed; } else if (group.items) { diff --git a/packages/polymech/src/config/sidebar.ts b/packages/polymech/src/config/sidebar.ts index 7dbea77..fad57a9 100644 --- a/packages/polymech/src/config/sidebar.ts +++ b/packages/polymech/src/config/sidebar.ts @@ -6,7 +6,7 @@ import type { SidebarGroup } from '../components/sidebar/types.js'; export const sidebarConfig: SidebarGroup[] = [ { label: 'Resources', - autogenerate: { + autogenerate: { directory: 'resources', collapsed: true, // Subgroups default to open sortBy: 'alphabetical' // Default sort function