LZR templating
LZR is a semantic templating layer for addressable, provable, patchable hypertext. It stays close to explicit source and data while producing the sidecars that make Inspector and AX workflows reliable.
<set key="campaign"
value="{{ data://campaign.json }}" />
<h1 id="campaign-title">
{{ campaign.client }} Campaign
</h1> {
"title": "Corpus Campaign",
"client": "Corpus Client",
"adCount": 2,
"assets": [ ... ]
} <h1 id="campaign-title"> Corpus Client Campaign </h1>
Addressable. Composable. Inspectable.
<set key="campaign" value="{{ data://tape-mini/a.json }}" />
<h1>{{ campaign.title }}</h1>
<tape-mini-card title="{{ campaign.title }}" tone="{{ campaign.tone }}">...</tape-mini-card> Every read, scope, and expansion is recorded.
Every output token traces back to source and data.
Core constructs
Use addressable protocols to read data, content, and assets. Reads are explicit, cached, and tracked.
src://data://cache://rendered://Components are reusable templates with inputs. Expansion is explicit and inspectable.
<tape-mini-status status="{{ item.status }}" label=... />Expressions are pure and scoped. Lookups resolve against the current scope chain, including bracket lookups.
{{ labels.statuses[item.status] }}Control structures lower to tape frames with active branch and iteration provenance.
Real segments from this project’s example build — see the full stream.
Whitespace renders like browser HTML: editor indentation is noise, linebreaks in phrasing become spaces, block edges trim.
whitespace canaries ->Every rendered fragment produces sidecars for verification, navigation, and safe incremental edits.
- Source maps
- Scope maps
- Data read sets
- Edit maps
Deliberate limits
hypermake explain rendered/public/docs/lzr-templating.html hypermake affected-by src/docs/lzr-templating.html hypermake diagnostics src/docs/lzr-templating.html