Skip to content
Formats

File formats

Every Publish page kind and route kind — one tight pattern.

Page kinds (index.jsonnav[])

| Kind | File | MIME | Demo | |------|------|------|------| | md | .md | text/markdown | This page | | csv | .csv | text/csv | /table | | page | .cms.json | application/vnd.myui.publish.page+json | /blocks | | txt | .txt | text/plain | /text | | json | page.json | application/json | /json |

Route kinds (index.jsonroutes[])

| Kind | MIME | URL | |------|------|-----| | jsonfeed | application/feed+json | /api/cms2/cms2/routes/feed | | jsonld | application/ld+json | /api/cms2/cms2/routes/schema | | json | application/json | /api/cms2/cms2/routes/demo |

Media in JSON (asset_ref)

Media lives in each page folder under media/. Reference with a relative path — bytes are never embedded in JSON:

{ "type": "media", "ref": { "path": "media/hero.webp", "alt": "Hero" } }

MIME is inferred from lib/cms2/concepts.json (images, video, audio, PDF, fonts, archives).

Domain tree

MyUI is the apex parent; each tenant is a child domain. Switch sites from the Sites menu or GET /api/domains.

Registry: db-blob/_tree/registry.json · canonical: content/domain-tree.json