Github
Authoring

Pages

Write Markdown documentation pages, customize the default pages, and search them.

Custom documentation pages are Markdown files under pages/ in the working directory. A page's relative path is its route and its registry id: pages/guides/setup.md is served at /guides/setup.

Create a page

Terminal
npx handoff-app make:page setup guides

This writes pages/guides/setup.md. If a default page has the same name, the new page starts with its content. --force overwrites an existing page.

Frontmatter

pages/guides/setup.md
---
title: Setup
description: How to install the design system in an application.
menuTitle: Setup
weight: 10
metaDescription: How to install the design system in an application.
enabled: true
---

Page content in **Markdown**.
FieldPurpose
titleVisible page title
descriptionSummary, shown under the title and in search results
menuTitleNavigation label
weightNavigation order
metaTitleReplaces the full browser title. Without it, the title is the page title plus app.title.
metaDescriptionMeta description
enabledfalse hides the page

Pages support GitHub Flavored Markdown: tables, task lists, and fenced code blocks with a language. Each page gets a table of contents from its headings.

Customize the default pages

Handoff ships default pages for the home page, foundations, system, and guidelines. Copy them into pages/ to change them:

Terminal
npx handoff-app eject:pages

--force adds the default pages that you have not changed yet.

The documentation app ranks pages by title, description, and body. The same search backs GET /api/docs/search/pages.json?q=... and the handoff_search_pages MCP tool.

Publish pages

Terminal
npm run publish -- pages
npm run publish -- pages guides/setup

Each page has one canonical Markdown source file. See Publish and checkout.

On this page