Convert the Editorial theme from a Go+templ wasm plugin to a fully codeless .bnp: 7 blocks + 4 built-in overrides + email wrapper transcribed templ→pongo2 .ninjatpl (byte-faithful, parity-verified 55/55 identical), 4 page templates, blocks/blocks.yaml (fully-qualified editorial:<key>), master_pages.json, and manifest.yaml (system/page templates, template_overrides, email_wrapper, css input_css_append). Schemas moved schemas/→blocks/. All Go, templ, go.mod/go.sum deleted. plugin.mod bumped 0.1.2→0.2.0, [compatibility] dropped. Makefile rewritten to codeless targets. Gates: ninja plugin build → (codeless, no plugin.wasm); ninja plugin verify → OK; check-safety → OK. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
49 lines
1.8 KiB
YAML
49 lines
1.8 KiB
YAML
# Editorial theme block definitions (codeless .bnp, WO-WZ-021).
|
|
# Keys are fully qualified (editorial:<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: editorial:masthead
|
|
title: Masthead
|
|
description: Newspaper-style masthead with Playfair wordmark and hairline rule
|
|
category: navigation
|
|
schema: masthead.schema.json
|
|
template: masthead.ninjatpl
|
|
- key: editorial:byline
|
|
title: Byline
|
|
description: Author byline with optional photo, dateline, and read time
|
|
category: theme
|
|
schema: byline.schema.json
|
|
template: byline.ninjatpl
|
|
- key: editorial:pullquote
|
|
title: Pull Quote
|
|
description: Large oxblood pull quote in Playfair italic
|
|
category: theme
|
|
schema: pullquote.schema.json
|
|
template: pullquote.ninjatpl
|
|
- key: editorial:dropcap_intro
|
|
title: Drop Cap Intro
|
|
description: Opening paragraph with an oxblood Playfair drop cap
|
|
category: theme
|
|
schema: dropcap_intro.schema.json
|
|
template: dropcap_intro.ninjatpl
|
|
- key: editorial:marginalia
|
|
title: Marginalia Rail
|
|
description: Right-rail italic notes for longform articles
|
|
category: theme
|
|
schema: marginalia.schema.json
|
|
template: marginalia.ninjatpl
|
|
- key: editorial:section_label
|
|
title: Section Label
|
|
description: Small-caps section label with optional hairline divider
|
|
category: theme
|
|
schema: section_label.schema.json
|
|
template: section_label.ninjatpl
|
|
- key: editorial:colophon
|
|
title: Colophon
|
|
description: Editorial footer with ISSN, subscribe stub, and link list
|
|
category: navigation
|
|
schema: colophon.schema.json
|
|
template: colophon.ninjatpl
|