Principle:Deepset ai Haystack Documentation Navigation Structure
| Knowledge Sources | |
|---|---|
| Domains | Documentation, Information_Architecture |
| Last Updated | 2026-02-11 20:00 GMT |
Overview
A structural pattern that organizes documentation into a hierarchical navigation tree to enable discovery and understanding of a framework's capabilities.
Description
Documentation Navigation Structure is the principle of organizing framework documentation into a logical, hierarchical sidebar tree. The hierarchy typically follows a pattern of progressive disclosure: from high-level concepts (introduction, overview) through domain categories (components, stores, tools) down to specific API references. This structure serves as both a navigation aid and an implicit map of the framework's architecture.
For component-based frameworks, the navigation structure typically mirrors the component taxonomy: grouping related components by function (embedders, generators, retrievers, etc.) while separating conceptual documentation (how things work) from reference documentation (API signatures).
Usage
Apply this principle when designing the documentation site structure for a framework or library. The navigation hierarchy should reflect the mental model of the target user: new users should find introductory material first, while experienced users should be able to navigate directly to specific component or API documentation. The sidebar structure should be maintained as a single source of truth configuration file.
Theoretical Basis
The navigation structure follows information architecture principles:
- Progressive Disclosure: Present high-level categories first, with details nested within
- Functional Grouping: Group related components by their role (e.g., all retrievers together)
- Separation of Concerns: Distinguish conceptual docs from reference docs from tutorial content
- Consistent Depth: Maintain similar nesting depth across categories for predictability
Pseudo-code Logic:
# Abstract navigation tree structure
navigation = {
"concepts": ["overview", "core_abstractions", "data_model"],
"components": {
category: [component_page for component in category_components]
for category in ["embedders", "generators", "retrievers", ...]
},
"reference": ["api_index", "auto_generated_docs"],
}