Manual Creation & Explicit Control
Manual configuration gives you complete control over navigation structure, ordering, and presentation.
What is Manual Creation?
Manually list every entry you want in navigation:
{
id: "getting-started",
label: "Getting Started",
entries: [
{ slug: "getting-started/introduction" },
{ slug: "getting-started/installation" },
{ slug: "getting-started/quick-start" },
],
}
Key differences from auto-generation:
- No folder scanning
- You control exact order
- You control which files appear
- No
autoGenerated: true
Basic Manual Configuration
{
id: "guides",
label: "Guides",
entries: [
{ slug: "guides/overview" },
{ slug: "guides/setup" },
{ slug: "guides/advanced" },
],
}
Entry Customization
Basic Entry
{
slug: "guides/installation";
}
Override Label
{
slug: "guides/very-long-file-name",
label: "Short Name", // Shows in sidebar
}
Add Icon
{
slug: "guides/installation",
icon: "β‘",
}
Full Customization
{
slug: "guides/installation",
label: "Get Started",
icon: "π",
}
Real-World Example: Tutorial
Tutorials need specific order. Auto-generation would fail (alphabetical order wouldnβt match teaching progression).
Setup
{
id: "tutorials",
label: "Tutorials",
entries: [
{ slug: "tutorials/01-introduction", label: "Introduction" },
{ slug: "tutorials/02-installation", label: "Installation" },
{ slug: "tutorials/03-hello-world", label: "Hello World" },
{ slug: "tutorials/04-variables", label: "Variables" },
{ slug: "tutorials/05-functions", label: "Functions" },
{ slug: "tutorials/06-modules", label: "Modules" },
{ slug: "tutorials/07-conclusion", label: "Wrap-Up" },
],
}
Result
π Tutorials
βββ Introduction
βββ Installation
βββ Hello World
βββ Variables
βββ Functions
βββ Modules
βββ Wrap-Up
Why manual? Alphabetical would be wrong (01-intro, 02-install, etc.)
Example: Curated Feature Selection
Show only popular features, hide others:
Files
content/features/
βββ authentication.md β
βββ breadcrumbs.md β
βββ dark-mode.md β
βββ experimental-beta.md β
βββ icons.md β
βββ internal-test.md β
βββ theme.md β
Setup
{
id: "features",
label: "Features",
entries: [
{ slug: "features/authentication" },
{ slug: "features/breadcrumbs" },
{ slug: "features/dark-mode" },
{ slug: "features/icons" },
{ slug: "features/theme" },
],
}
Result
β¨ Features
βββ Authentication
βββ Breadcrumbs
βββ Dark Mode
βββ Icons
βββ Theme
(Experimental and internal tests hidden)
Example: Custom Navigation Hierarchy
Reorganize files into different structure than file system:
Files
content/docs/
βββ installation.md
βββ setup.md
βββ authentication.md
βββ performance.md
Configuration (Different Order + Custom Labels)
{
id: "getting-started",
label: "Getting Started",
entries: [
{ slug: "getting-started/installation", label: "Install" },
{ slug: "getting-started/setup", label: "Initial Setup" },
],
},
{
id: "advanced",
label: "Advanced",
entries: [
{ slug: "getting-started/authentication", label: "Authentication & Security" },
{ slug: "getting-started/performance", label: "Performance Tuning" },
],
}
Result
π Getting Started
βββ Install
βββ Initial Setup
π Advanced
βββ Authentication & Security
βββ Performance Tuning
Example: Multi-Version API Docs
Support multiple API versions manually:
{
id: "api-v1",
label: "v1 (Deprecated)",
entries: [
{ slug: "api/v1/endpoints" },
{ slug: "api/v1/authentication" },
{ slug: "api/v1/errors" },
],
},
{
id: "api-v2",
label: "v2 (Current)",
entries: [
{ slug: "api/v2/getting-started" },
{ slug: "api/v2/endpoints" },
{ slug: "api/v2/authentication" },
{ slug: "api/v2/webhooks" },
{ slug: "api/v2/errors" },
],
},
{
id: "api-v3",
label: "v3 (Beta)",
entries: [
{ slug: "api/v3/overview" },
{ slug: "api/v3/breaking-changes" },
],
}
Result
v1 (Deprecated)
βββ Endpoints
βββ Authentication
βββ Errors
v2 (Current)
βββ Getting Started
βββ Endpoints
βββ Authentication
βββ Webhooks
βββ Errors
v3 (Beta)
βββ Overview
βββ Breaking Changes
When Manual is Better
β Use manual when:
- Specific order is critical (tutorials, progressive learning)
- Careful curation needed (hide some files)
- Custom labels throughout
- Multi-version documentation
- Small documentation (easy to maintain)
- Static content (doesnβt grow frequently)
β Not ideal when:
- Documentation grows rapidly
- Many pages (becomes tedious)
- Multiple contributors (merge conflicts)
- Alphabetical order acceptable
Advantages
β Complete control - Every aspect configurable β Clear intent - Config shows exactly what appears β Version management - Easy to hide old versions β Curation - Show only whatβs ready β Custom ordering - Any order you want β Small documentation - Trivial to maintain
Disadvantages
β Maintenance burden - Update config when adding files β Scaling issues - Becomes tedious with 100+ pages β Easy to miss - Forget to add new files β Merge conflicts - Multiple people editing same file β No discovery - New files invisible until listed
Hybrid: Get Both
Want manual ordering + auto-discovery?
{
id: "guides",
label: "Guides",
entries: [
{ slug: "guides/overview", label: "π Overview" },
{ slug: "guides/getting-started", label: "π Getting Started" },
],
autoGenerated: true, // Rest auto-discovered
}
See Hybrid Approach for details.
Next Steps
Learn about: