Understanding Nested Groups
Nested Groups are groups within groups, creating a deeper hierarchy. This is where CelestialDocs truly shines for complex documentation.
What are Nested Groups?
A nested group is a group that contains subgroups instead of (or in addition to) entries:
Group: "Advanced Topics"
├── Subgroup: "Performance"
│ ├── Entry: Caching Strategies
│ ├── Entry: Database Optimization
│ └── Entry: Load Balancing
├── Subgroup: "Security"
│ ├── Entry: Authentication
│ ├── Entry: Authorization
│ └── Entry: Encryption
└── Subgroup: "Deployment"
├── Entry: Docker Setup
├── Entry: Kubernetes Config
└── Entry: CI/CD Pipeline
Hierarchy Levels
CelestialDocs supports unlimited nesting depth:
Level 1: Tab (or Default Tab)
└── Level 2: Group
└── Level 3: Subgroup
└── Level 4: Sub-subgroup
└── Level 5: Entries
In practice, keep it to 3-4 levels for UX reasons—beyond that, navigation becomes complex.
Creating Nested Groups
Nested groups are defined using the groups property instead of entries:
Simple Nesting (2 Levels)
{
id: "configuration",
label: "Configuration",
icon: "⚙️",
groups: [
{
id: "basics",
label: "Basics",
entries: [
{ slug: "configuration/basics/overview" },
{ slug: "configuration/basics/setup" },
],
},
{
id: "advanced",
label: "Advanced",
entries: [
{ slug: "configuration/advanced/caching" },
{ slug: "configuration/advanced/security" },
],
},
],
}
Sidebar renders as:
⚙️ Configuration
├── Basics
│ ├── Overview
│ └── Setup
└── Advanced
├── Caching
└── Security
Deeper Nesting (3+ Levels)
{
id: "advanced",
label: "Advanced Topics",
icon: "🎓",
groups: [
{
id: "architecture",
label: "Architecture",
groups: [
{
id: "patterns",
label: "Design Patterns",
entries: [
{ slug: "advanced/architecture/patterns/observer" },
{ slug: "advanced/architecture/patterns/factory" },
],
},
{
id: "performance",
label: "Performance",
entries: [
{ slug: "advanced/architecture/performance/caching" },
{ slug: "advanced/architecture/performance/optimization" },
],
},
],
},
],
}
Sidebar renders as:
🎓 Advanced Topics
└── Architecture
├── Design Patterns
│ ├── Observer
│ └── Factory
└── Performance
├── Caching
└── Optimization
Mixing Entries and Subgroups
A group can have both entries and subgroups:
{
id: "features",
label: "Features",
entries: [
{ slug: "features/overview" }, // Top-level entries
],
groups: [
{
id: "authentication",
label: "Authentication",
entries: [
{ slug: "features/auth/oauth" },
{ slug: "features/auth/saml" },
],
},
],
}
Sidebar renders as:
Features
├── Overview (entry at group level)
└── Authentication (subgroup)
├── OAuth
└── SAML
File Structure for Nested Groups
Your content folder structure should reflect your nested organization:
content/my-docs/
├── advanced/
│ ├── architecture/
│ │ ├── patterns/
│ │ │ ├── observer.md
│ │ │ └── factory.md
│ │ └── performance/
│ │ ├── caching.md
│ │ └── optimization.md
│ ├── security/
│ │ ├── authentication.md
│ │ └── encryption.md
This matches the configuration structure, making it intuitive.
Auto-Generation with Nested Groups
Auto-generation works at every nesting level:
{
id: "documentation",
label: "Documentation",
groups: [
{
id: "guides",
label: "Guides",
autoGenerated: true, // Scans content/my-docs/documentation/guides/
},
{
id: "api-reference",
label: "API Reference",
groups: [
{
id: "endpoints",
label: "Endpoints",
autoGenerated: true, // Scans content/my-docs/documentation/api-reference/endpoints/
},
],
},
],
}
Real-World Example
This site’s own structure demonstrates nested groups. Open the sidebar and see:
Navigation System (Tab)
├── Core Concepts (Group)
│ ├── Entries
│ ├── Groups
│ ├── Nested Groups <- You're reading this!
│ └── Tabs
├── Hierarchy (Group)
│ ├── Three-Tier Overview
│ ├── Visual Guide
│ └── Real-World Examples
Benefits of Nested Groups
✅ Scalability: Organize 10 pages or 10,000 pages ✅ Clarity: Deep hierarchies are intuitive for complex topics ✅ Flexibility: Mix manual and auto-generated at each level ✅ User Experience: Users understand the structure immediately
When to Use Nested Groups
- ✅ Large documentation (100+ pages)
- ✅ Multiple related topics (e.g., different API versions)
- ✅ Tutorials with many chapters
- ✅ Enterprise systems with complex features
When NOT to Use Nested Groups
- ❌ Very small documentation (under 20 pages—keep it flat)
- ❌ Unrelated topics (use tabs instead for organization)
- ❌ More than 4-5 nesting levels (affects UX)
Next Steps
Learn about:
- Tabs - Promote groups to tabs
- Configuration Guide
- Real-World Examples