Navigation Data Schema Documentation¶
This directory contains YAML navigation data files used by the sidebar and navbar components. All files follow a standardized schema compatible with the zer0-mistakes theme v0.17+.
Schema Definition¶
Each navigation item can have the following properties:
- title: string # Required - Display text
url: string # Optional - Link URL (relative to site root)
icon: string # Optional - Bootstrap Icons class (e.g., "bi-folder", "bi-house")
description: string # Optional - Tooltip or description text
expanded: boolean # Optional - Default expanded state (default: false)
children: array # Optional - Nested navigation items (max 2 levels deep)
Property Details¶
| Property | Type | Required | Description |
|---|---|---|---|
title |
string | Yes | Display text for the navigation item |
url |
string | No | Link URL (relative to site root) |
icon |
string | No | Bootstrap Icons class with bi- prefix |
description |
string | No | Tooltip or additional description |
expanded |
boolean | No | Whether children are expanded by default |
children |
array | No | Nested navigation items (max 2 levels) |
Navigation Modes¶
The sidebar supports three navigation modes set via page.sidebar.nav:
- auto - Auto-generates from collection documents
- tree - Uses YAML data from this directory (specify file name)
- categories - Groups by Jekyll categories
Available Files¶
| File | Purpose | Description |
|---|---|---|
main.yml |
Primary site navigation | Navbar dropdowns and main menu |
docs.yml |
Documentation section | Sidebar for /docs/ pages |
about.yml |
About section | Sidebar for /about/ pages |
quickstart.yml |
Quick start guide | Sidebar for /quickstart/ pages |
home.yml |
Homepage quick links | Icon-based quick navigation |
posts.yml |
Blog categories | Category navigation for posts |
quests.yml |
Quest navigation | Educational quest hierarchy |
notebooks.yml |
Notes & notebooks | Sidebar for /notes/ pages |
hobbies.yml |
Hobbies section | Sidebar for /hobbies/ pages |
Example Usage¶
In Page Front Matter¶
Navigation File Example¶
# _data/navigation/docs.yml
- title: Getting Started
url: /docs/getting-started/
icon: bi-rocket-takeoff
expanded: true
children:
- title: Installation
url: /docs/installation/
icon: bi-download
- title: Configuration
url: /docs/configuration/
icon: bi-gear
- title: API Reference
url: /docs/api/
icon: bi-code-slash
children:
- title: Authentication
url: /docs/api/auth/
- title: Endpoints
url: /docs/api/endpoints/
Bootstrap Icons Reference¶
Common icons used in navigation:
| Icon | Class | Use Case |
|---|---|---|
| π | bi-house |
Home pages |
| π | bi-book |
Documentation |
| π | bi-rocket-takeoff |
Quick start, getting started |
| π° | bi-journal-text |
Blog, posts |
| π | bi-journal-bookmark |
Library, docs |
| π» | bi-terminal |
Terminal, CLI |
| βοΈ | bi-gear |
Settings, config |
| βΉοΈ | bi-info-circle |
About, info |
| πΊοΈ | bi-map |
Navigation, maps |
| π | bi-bar-chart-line |
Statistics, analytics |
| π€ | bi-robot |
AI, automation |
| π¦ | bi-box-seam |
Containers, packages |
Full icon reference: Bootstrap Icons
Migration Notes (v0.17+)¶
The zer0-mistakes theme v0.17+ introduced these changes:
- β
Renamed
sublinkstochildrenfor consistency with tree terminology - β
Added
expandedproperty for default collapsed/expanded state - β
Added
descriptionproperty for tooltips - β
Icons must use full Bootstrap Icons class with
bi-prefix - β
Navigation modes changed:
dynamicβauto,searchCatsβcategories
Schema Validation¶
Navigation YAML files are validated at build time. Invalid schemas will produce build warnings. Ensure all required properties are present and icon classes use the bi- prefix.
Last Updated: 2026-04-25 Theme Compatibility: zer0-mistakes v0.17+