Pinnate Docs

GitHubApp

Page settings

Frontmatter for titles, slugs, order, and visibility in the sidebar.

Guide pages are Markdown (.md or .mdx) with an optional YAML frontmatter block. Frontmatter controls how the page appears in the sidebar and public URL.

---
title: Getting started
description: Install the client and make your first request.
slug: getting-started
position: 10
hidden: false
---

# Getting started

Body content…

Fields

Field

Type

Default

Purpose

title

string

From filename

Sidebar label and page title

description

string

Subtitle under the title in the sidebar and page chrome

icon

string

Sidebar icon: emoji, short text, or Lucide name (book, key, settings, …)

slug

string

Path-based from file path

URL under the section

position

number

Path heuristics

Lower sorts earlier

hidden

boolean

false

Hide from navigation when true

Unknown keys are ignored. The body starts after the closing ---.

Slugs and nested files

Without an explicit slug, nested files use path slugs:

File

Default slug

Example URL (sites section)

introduction.md

introduction

/sites/introduction

configuration/site-settings.md

configuration/site-settings

/sites/configuration/site-settings

If you set slug in frontmatter, that value is used instead. Slugs must be unique within a section or sync fails.

Ordering

When the section uses discovery (no pages: list):

  1. Pages with numeric position sort ascending

  2. Pages with position sort before pages without

  3. Shallower paths before deeper paths

  4. Then lexicographic path

When pages: is set in site.yaml, that list order wins.

Hidden pages

hidden: true keeps the file in the repo but omits it from the sidebar. Direct URLs may still work depending on publish rules—prefer exclude if the page must not be imported at all.

Relative links such as ./concepts.md or ../sites/overview.md are rewritten on import to public section URLs. Absolute https://… and in-page #anchors are left alone.