docs: rename INDEX files to meaningful names and fix navigation

- Renamed subdirectory INDEX.md files to section-specific names:
  - user/INDEX.md → user/user-guide.md
  - developer/INDEX.md → developer/development.md
  - operations/INDEX.md → operations/operations.md
  - contributing/INDEX.md → contributing/contributing.md
  - developer/api/INDEX.md → developer/api/api-reference.md
  - developer/api/collections/INDEX.md → developer/api/collections/collections-api.md

- Updated all internal links to use new filenames
- Updated navigation.go to skip subdirectory INDEX files from sidebar
- Added Dockerfile to include docs directory in container build

This fixes the issue where multiple 'INDEX' links appeared in the sidebar,
making navigation confusing. Now each section has a descriptive name.
This commit is contained in:
2026-02-02 20:25:18 -05:00
parent c194acf379
commit 35a039d720
9 changed files with 28 additions and 9 deletions
+17 -1
View File
@@ -28,6 +28,12 @@ func (h *DocsHandler) BuildNavigation() *templates.Navigation {
categories := make(map[string][]templates.NavItem)
for _, doc := range docs {
// Skip INDEX.md files in subdirectories (they're section landing pages, not nav items)
// Only show root INDEX.md, skip all others like user/INDEX.md, api/INDEX.md, etc.
if strings.HasSuffix(doc, "INDEX.md") && doc != "INDEX.md" {
continue
}
item := h.createNavItem(doc)
category := h.getCategoryForNav(doc)
categories[category] = append(categories[category], item)
@@ -100,9 +106,19 @@ func (h *DocsHandler) getDocTitle(docPath string) string {
switch filename {
case "INDEX.md":
return "Documentation Index"
case "user/user-guide.md":
return "User Guide"
case "developer/development.md":
return "Developer Portal"
case "operations/operations.md":
return "Operations Guide"
case "contributing/contributing.md":
return "Contributing"
case "developer/api-reference.md":
return "API Reference"
case "developer/collections-api.md":
case "developer/api/api-reference.md":
return "API Reference"
case "developer/api/collections-api.md":
return "Collections API"
case "developer/websocket-api.md":
return "WebSocket API"