Versidify

Navigation

How docs.json controls sidebar grouping and order.

Structure

content/docs.json is the single source of truth for the sidebar:

{
  "name": "Versidify",
  "description": "Documentation infrastructure you run yourself.",
  "navigation": [
    {
      "group": "Getting started",
      "pages": ["", "quickstart"]
    }
  ]
}

Groups render in the order given, and pages render in the order listed inside each group. The file is validated on read. An unknown shape fails with the specific field that is wrong.

Ordering rules

docs.json wins. The order frontmatter field only affects listPages, which feeds search and any page not placed in a group.

Missing and extra pages

Two mismatches are possible, handled differently:

  • Listed in docs.json, missing on disk: skipped, so the sidebar never renders a dead link.
  • On disk, absent from docs.json: reported by findUngroupedPages so it can be surfaced during a build rather than disappearing quietly.

Pagination is derived from the flattened sidebar, so it follows the same reading order a visitor sees. Pages outside the navigation have no siblings.