sgit newsroom v0.1.29 · snapshot 2026-09-24

Reading room · sgit.ai · llms-full

On this page

Reading room / sgit.ai / llms-full.txt · section 202 of 358

Publishing content without code

Not everything needs an app. The vault browser renders two kinds of structured content natively, markdown documents and _page.json page layouts, so a vault full of files becomes a navigable, themed, printable site with no HTML written at all. This is the lighter on-ramp; vault apps ↗ are the heavier one.

Which one, when

Reach for markdownReach for _page.json
Prose-first documents, articles, reports, specs, step-by-step guides, linked hierarchies of notesDesigned pages: hero banners, galleries and slideshows, hub pages with clickable cards, decks, embedded PDFs, explicit theme control

Both can coexist in one folder, _page.json takes priority in the browse view. A file named exactly _page.json is auto-detected, no registration; one at the vault root renders immediately on open.

_page.json in one screen

{
  "title": "Q3 Report",
  "theme": { "mode": "light", "accent": "#0f766e", "font": "serif", "density": "spacious" },
  "navigation": [ { "label": "Overview", "anchor": "overview" } ],
  "components": [
    { "type": "hero",    "title": "Q3 Report", "height": "medium" },
    { "type": "section", "title": "Overview", "layout": "narrow", "children": [
      { "type": "text",     "content": "…" },
      { "type": "gallery",  "images": ["img/a.webp","img/b.webp"], "columns": 3 },
      { "type": "markdown", "file": "notes/summary.md" }
    ]}
  ]
}

Markdown in vaults, the extras

Building this for someone else? The build brief ↗ is the decision rather than the syntax, the ladder from zero code to a full app, the markdown rules that actually catch people, the raw-view contract for a file explorer, and a prompt to hand the builder agent.

The agent angle: both formats are plain JSON and plain text, which makes them ideal surfaces for AI agents to author. An agent writes _page.json or markdown into a vault with sgit write --json, a human previews it in the browser, and the whole loop stays end-to-end encrypted.

← The window.sg bridge ↗Sub-vaults → ↗