Freestruct Docs

Freestruct can auto-generate navigation from your docs folder structure, or use your SSG’s built-in menu.

How It Works

By default, Freestruct reads your docs/ folder structure:

docs/
├── getting-started.md     → Link in "Docs" section
├── guides/
│   ├── setup.md       → Link under "Guides" folder
│   └── api.md

And generates navigation like:

Docs
├── Getting Started
Guides
├── Setup
└── API

Configuration

Add to _config.yml:

# Enable/disable dynamic nav (default: true)
generateNav: true   # auto-generate from folder structure
generateNav: false # use SSG's built-in menu

Section Titles

Map folder names to display titles:

nav_sections:
  guides: "Guides"
  contributing: "Contributing"
  api: "API Reference"

Sort Order

Config Level

Control section order:

nav_order:
  index: 0
  getting-started: 1
  configuration: 2
  guides: 10
  contributing: 20

Page Level

Control per-page order via frontmatter:

---
title: Getting Started
nav_order: 1
---

Sort values: Lower numbers appear first. Default is 999 if not set.

Disabling for SSG Menu

Set generateNav: false to let your SSG handle navigation:

# _config.yml
generateNav: false

This passes through site.data.menu or your SSG’s native menu structure. Works with:

Disabling Per-Page

Hide specific pages from nav:

---
title: Changelog
nav: false
---