This document outlines the definitions used in the Sidebar Navigation JSON Schema, version v1.0.0. These components form a flexible and reusable structure for nested sidebars, metadata, and navigation.
visibleString
A basic string type used for labels and identifiers.
string
^\S+$
(No whitespace)labelledObject
Represents any object with a human-readable label.
label
: visibleString
label
commonMeta
Provides standard metadata applicable to most sidebar components.
brief
: Optional string
description
: Optional string
id
: string
(Pattern: ^[a-zA-Z0-9._-]+$
)path
: string
(Pattern: ^(/)?([^/ ]+(/)?)*$
)slug
: string
(Pattern: ^[a-z0-9]+(-[a-z0-9]+)*$
)summary
: Optional string
title
: Optional string
emptySidebar
An empty navigational group.
labelledObject
commonMeta
array
with max 0 itemspopulatedSidebar
A sidebar containing actual navigation elements.
labelledObject
commonMeta
visibleString
topicItem
categoryItem
linkItem
leafHeading
and parentHeading
Define headings within documents.
labelledObject
commonMeta
visibleString
, leafHeading
, or parentHeading
topicItem
A documentation topic block.
emptySidebar
visibleString
, leafHeading
, or parentHeading
linkItem
Defines external/internal hyperlinks.
labelledObject
commonMeta
href
(type: URI)categoryItem
Nested category container.
labelledObject
commonMeta
visibleString
linkItem
topicItem
categoryItem
Feel free to tweak formatting or add usage examples to make it more interactive. Want me to help generate example data structures or usage scenarios next?