themes-art-deco/blocks/press_quote.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

32 lines
786 B
JSON
Raw 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": "Press Quote",
"description": "Italic Cormorant pull-quote between fan dividers.",
"type": "object",
"properties": {
"quote": {
"type": "string",
"title": "Quote",
"description": "The press quotation (rich text).",
"x-editor": "richtext",
"default": ""
},
"source": {
"type": "string",
"title": "Source",
"description": "Attribution line — e.g. 'The Daily, March 2024'.",
"x-editor": "text",
"default": ""
},
"stars": {
"type": "integer",
"title": "Stars",
"description": "Filled-star count, clamped to 05.",
"x-editor": "number",
"default": 0,
"minimum": 0,
"maximum": 5
}
}
}