Build & customize

This is the developer’s reading path. The earlier chapters explained why CTXR is shaped the way it is — a graph instead of a database, compiled at write time, serving one page to both visitors and editors. This chapter is about what you do with it.

What you build, and where

The platform ships a complete, working space: defaults for everything, a sensible theme, a full editor. You don’t start from an empty directory. You start from something that already runs, and you extend it.

Your entire workbench is one folder: build/. It holds the PHP templates that turn nodes into HTML, the CSS that styles the public site, and the JavaScript that runs in the browser. Everything else — the compiler, the API, the editor chrome, the storage layer — is platform machinery you call into but never edit.

build/                  ← your work lives here
  pages/   blocks/   menus/   forms/   templates/
  assets/css/   assets/js/

(platform internals)    ← you call these, never touch them
  the compiler · the API · the editor · the registry

The boundary is the whole point. Code-pushes never touch live content; runtime edits never touch code. A lint-gate keeps that promise safe.

The chapters

Page What it covers
The build folder Your folder structure, the push/pull workflow, and the lint-gate boundary
Template helpers The helper API — the only bridge between a template and editability
Nodes & types The Bare Four, Schema.org types, custom properties, the Thing fallback
Lists & relations Curated, relational, and queried lists; derived values; projection
Theming & assets Free site CSS, fixed editor chrome, importmaps, the module grammar
The editing experience How your templates become editable — the three-layer contract
Automation & connectors Operations, connectors, the wizard, webhooks
The API One endpoint, two auth modes, JSON-LD output
Internationalisation One language per node, and the four-rung translation ladder

Read top to bottom for the full picture, or jump to the page that matches the problem in front of you.


Table of contents