How a matter's pages reach a client
Each Project has its own source repository — for example, example-organization/sample-project — holding
navigator.yaml, Markdown Drafts, and YAML. A matter's client-facing pages are its Matter Pages, declared under
pages: in navigator.yaml and rendered by web on the matter show page, /app/projects/{code}, after the session
and Project participation row are checked. No bundle is built, published, or streamed. /app/projects/{code}/portal and
every path beneath it answer 301 to the matter show page.
flowchart LR
subgraph repo["Project repo — example-organization/sample-project"]
src["navigator.yaml pages: + drafts/"]
end
subgraph nav["Navigator — neon-server"]
web["web renders the matter show page<br/>/app/projects/acme"]
end
client(["Client browser"])
src -- "staged source" --> web
client -- "GET /app/projects/acme" --> web
web -- "check session + participation" --> web