Implementation:Apache Druid Website Sidebar Navigation
| Knowledge Sources | |
|---|---|
| Domains | Website, Documentation, Navigation |
| Last Updated | 2026-02-10 10:00 GMT |
Overview
website/sidebars.json defines the hierarchical sidebar navigation structure for the Apache Druid documentation website built with Docusaurus.
Description
This JSON file declares the docs sidebar as a tree of categories and document references. Top-level categories include Getting started, Design, Ingestion, Data management, Querying, API reference, Configuration, Operations, Development, and Release info. Each category can contain direct document ID references (matching file paths under the docs/ directory) or nested sub-categories with their own items. The structure determines the order and grouping of pages in the left sidebar of the Druid documentation site.
Usage
Edit this file when adding new documentation pages, reorganizing existing sections, or changing the navigation hierarchy of the Druid website. It is referenced by docusaurus.config.js via the sidebarPath configuration.
Code Reference
Source Location
- Repository: Apache Druid
- File: website/sidebars.json
- Lines: 1-391
Signature
{
"docs": [
"design/index",
{
"type": "category",
"label": "Getting started",
"link": { "type": "doc", "id": "tutorials/index" },
"items": [ ... ]
},
{ "type": "category", "label": "Design", "items": [ ... ] },
{ "type": "category", "label": "Ingestion", "items": [ ... ] },
{ "type": "category", "label": "Data management", "items": [ ... ] },
{ "type": "category", "label": "Querying", "items": [ ... ] },
{ "type": "category", "label": "API reference", "items": [ ... ] },
{ "type": "category", "label": "Configuration", "items": [ ... ] },
{ "type": "category", "label": "Operations", "items": [ ... ] },
{ "type": "category", "label": "Development", "items": [ ... ] },
{ "type": "category", "label": "Release info", "items": [ ... ] },
"misc/papers-and-talks"
]
}
Import
// Referenced in docusaurus.config.js:
"docs": {
"sidebarPath": "sidebars.json"
}
I/O Contract
Inputs
| Name | Type | Required | Description |
|---|---|---|---|
| type | string | Yes (for categories) | Must be "category" for category entries or "doc" for linked categories |
| label | string | Yes (for categories) | Display name shown in the sidebar navigation |
| items | array | Yes (for categories) | Array of document IDs (strings) or nested category objects |
| link | object | No | Optional link configuration for category landing pages |
| id | string | Yes (for doc links) | Document ID matching the file path relative to the docs directory (without extension) |
Outputs
| Name | Type | Description |
|---|---|---|
| Sidebar navigation | HTML | Rendered sidebar in the Docusaurus documentation site with expandable categories and page links |
Usage Examples
Adding a New Page to an Existing Category
{
"type": "category",
"label": "Ingestion",
"items": [
"ingestion/existing-page",
"ingestion/new-page"
]
}
Adding a New Nested Category
{
"type": "category",
"label": "Advanced Topics",
"items": [
{
"type": "category",
"label": "Performance",
"items": [
"advanced/tuning",
"advanced/benchmarks"
]
}
]
}