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>
49 lines
2.0 KiB
YAML
49 lines
2.0 KiB
YAML
# Art Deco theme block definitions (codeless .bnp, WO-WZ-021).
|
|
# Keys are fully qualified (art-deco:<key>) because the codeless loader
|
|
# registers definitions verbatim — there is no PluginBlockRegistry prefixing
|
|
# in the codeless path (unlike the wasm/templ path). The qualified keys match
|
|
# the hardcoded data-block attributes and the master_pages.json references.
|
|
blocks:
|
|
- key: art-deco:reservation
|
|
title: Reservation Strip
|
|
description: Sticky gold-on-black reservation strip with phone, OpenTable CTA and trading hours.
|
|
category: navigation
|
|
schema: reservation.schema.json
|
|
template: reservation.ninjatpl
|
|
- key: art-deco:menu
|
|
title: Tasting Menu
|
|
description: Symmetric two-column menu card listing courses with description and price.
|
|
category: content
|
|
schema: menu.schema.json
|
|
template: menu.ninjatpl
|
|
- key: art-deco:gallery_fan
|
|
title: Fan Gallery
|
|
description: Mirrored gallery framed by sunburst — collapses to single column under 640px.
|
|
category: content
|
|
schema: gallery_fan.schema.json
|
|
template: gallery_fan.ninjatpl
|
|
- key: art-deco:divider_fan
|
|
title: Fan Divider
|
|
description: Pure-CSS gold geometric divider — sunburst, scallop or ziggurat.
|
|
category: layout
|
|
schema: divider_fan.schema.json
|
|
template: divider_fan.ninjatpl
|
|
- key: art-deco:footer
|
|
title: Footer
|
|
description: Centered Art Deco footer with gold rule, address, reservations email and optional social row.
|
|
category: layout
|
|
schema: footer.schema.json
|
|
template: footer.ninjatpl
|
|
- key: art-deco:marquee_hero
|
|
title: Marquee Hero
|
|
description: Wide hero with stepped ziggurat frame and sunburst overlay.
|
|
category: content
|
|
schema: marquee_hero.schema.json
|
|
template: marquee_hero.ninjatpl
|
|
- key: art-deco:press_quote
|
|
title: Press Quote
|
|
description: Italic Cormorant pull-quote between fan dividers, optional star rating.
|
|
category: content
|
|
schema: press_quote.schema.json
|
|
template: press_quote.ninjatpl
|