Wire the three bundled fonts.json families the CMS never loads (Archivo Black
display, Inter body, IBM Plex Mono mono) via @font-face against the served
/templates/magazine-bold/fonts/*.woff2 paths + template:magazine-bold:<Family>
typography refs in all five presets. Declare required_icon_packs: [lucide,
simple-icons] so the sprite sheets materialize on fresh installs.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- cover_story: clamp headline to its reserved 8-col track (mb-cover-folio) so it
never crosses the deck column or bleeds off-viewport; kicker + CTA stay in
frame; deck in a reserved right column; wire duotone cover image.
- article template: render the page <h1> exactly once (was never rendered);
fix the multi-line ninjatpl comment that failed theme registration.
- lookbook + hero + seed: add seed/media (sneakers, editorial-figure,
streetwear-look, sneakers-street; studio-portrait avoided) and wire image
slots; expand the offcut-method article to ~9 paragraphs.
- drop-cap: extra clearance so wrapped lines do not crowd the cap.
- SVG geometry guard: add explicit width/height to all icon <use> SVGs and
replace icon shortcodes with sized <svg> markup (balloon guard).
- refresh gallery screenshots (home/about/article x light+dark, retina).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Host Tailwind JIT does not scan theme templates, so responsive grid/hero
utilities (sm:/md:/lg:grid-cols-*, min-h-screen, arbitrary values) are
dropped and multi-column layouts collapse to one column. Ship the
load-bearing responsive layout as compiled theme CSS and point the
override templates at it. Layout only — colours stay on semantic tokens.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Layout/whitespace:
- cover_story: fix hero deck ragged one-word-per-line wrap (44px text-deck in
a narrow 3-col rail) via a right-sized inline standfirst; keep proven grid
spans; trim doubled vertical padding.
- card: story titles were rendered by .mb-caps at 0.72rem tracked mono-caps,
reading as cramped tiny strips; restore a real Archivo Black headline size.
- newsletter-signup: replace the twin stray dash artifact (two mb-rule bars)
with a single fluoro accent bar; tighten padding.
- landing: constrain the story river to a cohesive editorial column (mb-river)
instead of full 80rem (killed the dead space beside text-only cards); trim
stacked section padding across lead/river/drop_calendar/lookbook/newsletter.
Empty-media graceful states (demo seed ships no images):
- hero (split): stop rendering the min-h-[320px] bg-muted half-panel when no
backgroundImage; text takes full width instead.
- video-embed: gate the whole aspect frame on url|media (was a full empty box
with a dead play button).
- image: guard the sizing box on src so an absent image collapses.
- logo-strip / hero trustLogos: defensive {% if logo.image %} guards.
Mobile responsiveness (JIT does not reliably scan theme .ninjatpl, so
layout-critical responsive rules are literal manifest CSS, not theme utility
classes):
- text-folio: break-word + lower clamp floor (54px) to prevent horizontal
overflow of giant headlines at ~375px.
- lookbook grid + river column driven by guaranteed .mb-grid-resp/.mb-river.
- stats: drop divide-x (spurious divider on row-wrap on mobile).
Scroll-reveal hardening (.mb-reveal was opacity:0 with the observer script only
in cover_story, so lookbook on /about stayed permanently hidden; .no-js
fallback was dead): default visible, JS opts in to hide-then-reveal, safety-net
full reveal on timeout + window load, reduced-motion/no-JS/no-observer all show.
No version bump. Build + verify + check-safety all exit 0.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Replace the retired .so Makefile with the wasm/.bnp convention (build /
verify / archive-check / publish via ninja plugin build), gitignore *.so
and *.bnp artifacts, and refresh the stale [compatibility] block_core
constraint to the v0.15 era.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Add wasmguest.Serve(Registration) boilerplate and bump block/core to v0.15.2
for the .so->wasm migration. Built + published as .bnp to the dev registry.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Bootstrapped during the 2026-06-06 BlockNinja consolidation. Was previously
an unversioned directory inside ~/src/blockninja-themes/magazine-bold.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>