themes-art-deco/blocks/reservation.schema.json
Alex Dunmow 5075aa81c9 feat: convert to codeless .bnp — templates + manifest, Go/templ deleted (WO-WZ-021)
Convert the Art Deco theme from a wasm (Go+templ) plugin to a fully codeless
.bnp: pure declaration the host runs, no plugin.wasm, no block/core dependency.

- blocks/: blocks.yaml (7 fully-qualified art-deco:* keys) + per-block
  .schema.json (moved from schemas/) + .ninjatpl transcribed byte-for-byte
  (modulo whitespace) from the templ sources.
- templates/art-deco/{default,landing,article,full-width}.ninjatpl — page
  layouts.
- templates/overrides/art-deco/{heading,text,button,image}.ninjatpl.
- templates/email/art-deco.ninjatpl.
- manifest.yaml (system/page templates, template_overrides, email_wrappers,
  theme_presets, bundled_fonts, master_pages, css input_css_append) +
  master_pages.json.
- plugin.mod bumped to 0.2.0; [compatibility] block_core dropped (codeless has
  no core dependency).
- Deleted all Go/templ/*_templ.go, go.mod/go.sum; Makefile rewritten to the
  codeless build/verify/publish targets.

Render parity verified against the prior templ output (static pongo2 harness,
whitespace-normalised): all 7 blocks, 4 overrides and the email wrapper match.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-04 14:24:55 +08:00

34 lines
933 B
JSON
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Reservation Strip",
"description": "Sticky gold-on-black reservation strip with phone, OpenTable CTA, and trading hours.",
"type": "object",
"properties": {
"phone": {
"type": "string",
"title": "Reservations phone",
"description": "International-format phone number for the reservations desk.",
"x-editor": "text",
"default": ""
},
"openTable": {
"type": "string",
"title": "OpenTable URL",
"description": "Deep link to the OpenTable widget or booking page.",
"x-editor": "link",
"default": ""
},
"hours": {
"type": "array",
"title": "Trading hours",
"description": "Free-form lines such as 'TueSat · 6pmlate'.",
"x-editor": "array",
"default": [],
"items": {
"type": "string",
"x-editor": "text"
}
}
}
}