...
This commit is contained in:
@@ -175,7 +175,7 @@ for item in sidebar.my_sidebar {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Print formatted sidebar
|
// Print formatted sidebar
|
||||||
println(mysite.sidebar_str())
|
println(mysite.str())
|
||||||
```
|
```
|
||||||
|
|
||||||
### Site Configuration
|
### Site Configuration
|
||||||
|
|||||||
@@ -290,6 +290,9 @@ pub fn test_navigation_depth() ! {
|
|||||||
assert stats.categories >= 6, 'Should have at least 6 categories'
|
assert stats.categories >= 6, 'Should have at least 6 categories'
|
||||||
console.print_green('✓ Multiple category levels present')
|
console.print_green('✓ Multiple category levels present')
|
||||||
|
|
||||||
|
println(nav_site.sidebar_str())
|
||||||
|
println(sidebar)
|
||||||
|
|
||||||
assert stats.max_depth >= 4, 'Should have nesting depth of at least 4 levels (0-indexed root, so 3+1)'
|
assert stats.max_depth >= 4, 'Should have nesting depth of at least 4 levels (0-indexed root, so 3+1)'
|
||||||
console.print_green('✓ Deep nesting verified (depth: ${stats.max_depth})')
|
console.print_green('✓ Deep nesting verified (depth: ${stats.max_depth})')
|
||||||
|
|
||||||
@@ -348,26 +351,25 @@ fn analyze_sidebar_structure(items []NavItem) SidebarStats {
|
|||||||
stats.root_items = items.len
|
stats.root_items = items.len
|
||||||
|
|
||||||
for item in items {
|
for item in items {
|
||||||
// Start depth at 1 for top-level items
|
// Calculate depth for the current item and update max_depth
|
||||||
|
// The calculate_nav_item_depth function correctly handles recursion for NavCat
|
||||||
|
// and returns current_depth for leaf nodes (NavDoc, NavLink).
|
||||||
|
// We start at depth 1 for root-level items.
|
||||||
|
depth := calculate_nav_item_depth(item, 1)
|
||||||
|
if depth > stats.max_depth {
|
||||||
|
stats.max_depth = depth
|
||||||
|
}
|
||||||
|
|
||||||
|
// Now categorize and count based on item type
|
||||||
if item is NavCat {
|
if item is NavCat {
|
||||||
stats.categories++
|
stats.categories++
|
||||||
depth := calculate_nav_item_depth(item, 1)
|
// Recursively count pages and categories within this NavCat
|
||||||
if depth > stats.max_depth {
|
|
||||||
stats.max_depth = depth
|
|
||||||
}
|
|
||||||
// Recursively count pages and categories
|
|
||||||
stats.pages += count_nested_pages_in_navcat(item)
|
stats.pages += count_nested_pages_in_navcat(item)
|
||||||
stats.categories += count_nested_categories_in_navcat(item)
|
stats.categories += count_nested_categories_in_navcat(item)
|
||||||
} else if item is NavDoc {
|
} else if item is NavDoc {
|
||||||
stats.pages++
|
stats.pages++
|
||||||
if 1 > stats.max_depth {
|
|
||||||
stats.max_depth = 1
|
|
||||||
}
|
|
||||||
} else if item is NavLink {
|
} else if item is NavLink {
|
||||||
stats.links++
|
stats.links++
|
||||||
if 1 > stats.max_depth {
|
|
||||||
stats.max_depth = 1
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user