Alex Dunmow efbfaea74c feat: convert to codeless .bnp — templates + manifest, Go/templ deleted (WO-WZ-021)
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>
2026-07-04 15:27:31 +08:00

16 lines
765 B
Plaintext

<!doctype html>
<html lang="en">
{{ head_html|safe }}
<body class="antialiased min-h-screen flex flex-col" style="background-color: hsl(var(--background)); color: hsl(var(--foreground));">
{{ admin_banner_html|safe }}
<header class="w-full">{{ slots.header|safe }}</header>
<div class="editorial-column w-full py-4">{{ slots.byline|safe }}</div>
<div class="editorial-article-grid flex-grow py-8">
<main class="prose-editorial">{% if slots.main %}{{ slots.main|safe }}{% else %}<p style="color: hsl(var(--muted-foreground));">No content blocks assigned to this page.</p>{% endif %}</main>
<aside>{{ slots.marginalia|safe }}</aside>
</div>
<footer class="w-full mt-auto pt-8 pb-6">{{ slots.footer|safe }}</footer>
{{ body_end_html|safe }}
</body>
</html>