docs | sidebar

This commit is contained in:
babayaga 2025-12-30 00:14:58 +01:00
parent 152f610268
commit 3d87711a0c
3 changed files with 13 additions and 10 deletions

View File

@ -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/' },
],
}
];

View File

@ -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) {

View File

@ -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