Skip to content
VegaStack
All docs
Concepts

Pages and folders

How pages and folders behave — source, snapshots, hierarchy, trash.

Updated 2026-05-23

Pages and folders

A page is the unit of content. A folder is a container that holds pages and other folders. Both live inside a space, which is what carries access.

Page anatomy

  • Source — Markdown, MDX, or HTML.
  • Rendered artifact — frozen HTML and metadata derived from source.
  • Versions — every save snapshots; manual snapshots add a label.
  • Metadata — title, slug, parent space, parent folder, favorite, owner, timestamps.
  • System frontmatter — on save, the server stamps a vegastack_* block into the source carrying the page / workspace / space / folder / slug / source-type / template ids. Backup/export only; the Postgres database is the source of truth.
  • Custom frontmatter — anything else you put in frontmatter shows up in the page Properties panel.

Folder anatomy

  • Slug path — the breadcrumb segments used in URLs.
  • Children — pages and sub-folders, returned by the space tree endpoint.
  • Access — inherits from the containing space. Folders carry no grants of their own. (Before the Spaces cutover folders had per-folder grants; that model is retired.)

Soft delete and trash

Trashing a page or folder marks it deleted and removes it from the tree, but the source survives until purged. Settings → Trash lists everything trashed in the current workspace with Restore and Purge per row. Purge is permanent; restore puts the item back into its prior parent.

Move

The page actions menu has Move page. Pick a destination space and (optionally) a folder inside that space; the breadcrumb updates everywhere immediately. The move is recorded in the audit log. Cross-space moves are first-class — space_id is a required field on every page mutation surface.

Slug stability

Slugs are stable across moves. Internal links and public URLs continue to resolve to the new location until the slug is explicitly renamed.