The page tree in the dashboard is your sidebar. There's no separate config file. Reorder pages → the sidebar updates. Nest a page under another → it becomes a sub-item.
The page tree#
Screenshot needed
screenshot of the page tree sidebar in the dashboard, showing nested pages with drag handles
Each page in the tree has:
- A drag handle for reordering and nesting
- A title (rename inline by double-clicking)
- A status indicator (draft / published)
- A right-click menu for duplicate, settings, delete
Drag a page onto another page to nest it. Drag it out of the parent to un-nest. The sidebar on the live site mirrors the tree exactly.
Slugs and URLs#
Each page has a slug. The slug is the URL path:
| Slug | URL |
|---|---|
index | / (the homepage) |
quickstart | /quickstart |
editor/writing | /editor/writing |
api/users/list | /api/users/list |
Slugs are independent from the tree structure. You can have a slug like editor/writing even if the page isn't nested in the tree — the slug determines the URL, the tree determines the sidebar.
That said, keeping them in sync is a good practice. If a page is nested under "Editor" in the sidebar, its slug should start with editor/. The sidebar will look right and the URL will read right.
Special slug: index#
The page with slug index is your homepage — served at /. Every project should have one. If you don't, the homepage shows "No content yet" until you do.
Slug rules#
- Lowercase letters, numbers, hyphens, and forward slashes only
- No leading or trailing slashes
- No spaces, no underscores, no special characters
- Maximum 200 characters total
The editor enforces these on input.
Sidebar groups#
There's no separate "group" concept. A group in the sidebar is just a parent page with children:
Editor ← parent page, slug: editor/overview
├ Writing ← child, slug: editor/writing
├ Slash menu ← child, slug: editor/slash-menu
└ AI actions ← child, slug: editor/ai-actionsThe parent is the section's "overview" page. Clicking the parent in the sidebar opens its content; clicking the children opens theirs.
Collapsible groups#
Each parent page in the sidebar has a collapse/expand chevron. The expanded/collapsed state is per-reader (stored in localStorage), so each reader picks their preferred view.
You can set the default collapsed state per page in Page Settings → Display → "Collapsed by default in sidebar". Useful for keeping less-used sections out of the way.
Reordering#
Drag a page up or down. The order is saved automatically. The sidebar order on the live site updates within ~10 seconds.
If you need to reorder a lot of pages at once (e.g., after a large reorganization), you can also edit the order_index of each page in Page Settings — but the drag UI is faster for most cases.
Drafts vs published#
Each page has a published toggle in Page Settings.
- Draft — only visible in the dashboard. Doesn't appear on the live site or in the sidebar.
- Published — live on the site, indexed by search engines, shown in the sidebar.
New pages default to draft. Toggle to published when you're ready to ship.
Bulk operations#
Right-click any page (or select multiple with ⌘-click) to:
- Publish / unpublish
- Move to another section
- Duplicate
- Delete
Delete is soft for 30 days — you can restore from Settings → Trash.