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>
38 lines
1.0 KiB
JSON
38 lines
1.0 KiB
JSON
{
|
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
"title": "Footer",
|
|
"description": "Centered Art Deco footer with gold rule, address, reservations email and optional social row.",
|
|
"type": "object",
|
|
"properties": {
|
|
"address": {
|
|
"type": "string",
|
|
"title": "Address",
|
|
"description": "Multi-line postal address.",
|
|
"x-editor": "textarea",
|
|
"default": ""
|
|
},
|
|
"reservationsEmail": {
|
|
"type": "string",
|
|
"title": "Reservations email",
|
|
"description": "Public email shown in the footer for reservations enquiries.",
|
|
"x-editor": "text",
|
|
"default": ""
|
|
},
|
|
"showSocial": {
|
|
"type": "string",
|
|
"title": "Show social row",
|
|
"description": "Whether to render the social-icon row.",
|
|
"x-editor": "select",
|
|
"default": "true",
|
|
"enum": ["true", "false"]
|
|
},
|
|
"menuName": {
|
|
"type": "string",
|
|
"title": "Footer menu",
|
|
"description": "Name of the menu to render in the footer.",
|
|
"x-editor": "menu-select",
|
|
"default": ""
|
|
}
|
|
}
|
|
}
|