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>
37 lines
1.1 KiB
JSON
37 lines
1.1 KiB
JSON
{
|
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
"title": "Byline",
|
|
"description": "Article byline with author name, optional photo, optional read-time, and dateline.",
|
|
"type": "object",
|
|
"properties": {
|
|
"authorSlug": {
|
|
"type": "string",
|
|
"title": "Author Slug",
|
|
"description": "Slug of the author whose name and photo should be rendered.",
|
|
"x-editor": "slug"
|
|
},
|
|
"showPhoto": {
|
|
"type": "string",
|
|
"title": "Show Photo",
|
|
"description": "Render the author's avatar to the left of the name.",
|
|
"x-editor": "select",
|
|
"enum": ["false", "true"],
|
|
"default": "true"
|
|
},
|
|
"showReadTime": {
|
|
"type": "string",
|
|
"title": "Show Read Time",
|
|
"description": "Include the read-time estimate next to the dateline.",
|
|
"x-editor": "select",
|
|
"enum": ["false", "true"],
|
|
"default": "true"
|
|
},
|
|
"dateline": {
|
|
"type": "string",
|
|
"title": "Dateline",
|
|
"description": "Optional explicit dateline (e.g. \"London, March 14\"). Rendered in small caps.",
|
|
"x-editor": "text"
|
|
}
|
|
}
|
|
}
|