21 Commits

Author SHA1 Message Date
Alex Dunmow
0ae327ea56 bump to 0.3.0 2026-07-06 09:32:07 +08:00
Alex Dunmow
0d4ddd7f4c feat: Wave B gallery screenshots (home/about/article × light+dark) 2026-07-06 09:31:53 +08:00
Alex Dunmow
955688daf6 chore: rename dev host localdev.blockninjacms.com -> blockninja.dev 2026-07-05 20:50:30 +08:00
Alex Dunmow
d7d7e1a7a3 refactor: replace hand-rolled utility CSS with Tailwind classes (host build now scans theme templates)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-05 17:54:28 +08:00
Alex Dunmow
ca4e132f41 fix(theme): drive responsive layout from theme-owned CSS
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>
2026-07-05 17:40:22 +08:00
Alex Dunmow
85d95d0545 fix(kindergarten): repair hero, grids, empty media + mobile whitespace
Remediate broken layout on the demo home page (persona intact):

- Hero rendered with no height: it relied on min-h-screen /
  responsive Tailwind that the host JIT drops on a cold provision.
  Drive hero sizing + type through compiled .kg-hero* CSS classes
  (input_css_append is compiled every build). Mascot repositioned to
  bottom-center behind readable content; confetti/ABC/reduced-motion
  fallback preserved. All builtin field reads unchanged.
- Landing header was position:absolute and overlapped the feature
  grid when the hero collapsed -> switch to the default's in-flow
  sticky header (collision gone).
- feature-grid columns never formed (lg:grid-cols-3 not compiled) ->
  route through compiled .kg-cols/.kg-cols-3 media-query grid.
- Empty art-wall polaroids ballooned into large blank squares ->
  graceful 4:3 capped placeholder with a playful crayon wash.
- Define .kg-section (was only in the dead assets/style.css, so
  persona sections had no padding) and add a consistent .kg-sect
  rhythm; trim oversized section padding.
- Alphabet strip now a single scrollable row (was flex-wrap) so the
  sticky header stays compact on mobile.
- Mobile: all layout-critical grids are compiled media-query CSS
  (mobile-first, 1 col), no fixed widths > viewport, tap targets ok.

No .reveal/scroll-hide pattern in this theme; whitespace was real
layout void. Colors stay semantic tokens; check-safety 32 checks OK.
No version bump.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-05 17:26:20 +08:00
Alex Dunmow
0e2119ae8d bump to 0.2.1 2026-07-05 16:44:48 +08:00
Alex Dunmow
223d4bcf89 docs: publishing README 2026-07-05 13:43:43 +08:00
Alex Dunmow
df6ed78281 feat(kindergarten): Wave A theme lane (WO-TF-019) — 49 overrides, 7 templates, GO-BIG mascot hero
Preschool / daycare identity: crayon borders, sticker badges, confetti, and a
dependency-free bouncing-mascot + confetti-canvas hero showpiece (hero/landing
only, lazy-init, prefers-reduced-motion honored, static no-JS fallback).

- All 49 mandatory builtin overrides (OVERRIDE-CONTRACT §1), field-correct
  against the frozen cms builtins, re-skinned to the crayon design system.
  Legacy button (label/link/style) and card (text/media) field reads reconciled.
- 7 page templates: default, full-width, landing, article, blog-index, contact,
  auth — standard header/main/footer slots, dotted-paper chrome, dual-mode.
- Blocks reworked: mascot_hero/big_cta/gallery_of_art/numbers_counter/
  storybook_quote/footer converted to builtin overrides; 4 persona blocks kept/
  added — alphabet_strip (array-shaped, gotcha-safe), schedule, art_wall,
  story_time.
- 5 presets, all mode "both", bright-classroom light + quiet-time navy dark.
- Bundled OFL woff2 (Baloo 2 700, Quicksand 400/700) in assets/fonts + LICENSES;
  all font-family via var(--font-*); RECOMMENDED_FONTS/ICONS updated;
  required_icon_packs declared.
- Themed email-safe wrapper; master pages (site + auth); seed demo site
  (home/about/blog+3 posts/contact form+row_inserted email workflow/login),
  preschool voice.

Known platform limit (OVERRIDE-CONTRACT §11): auth-form/auth-status/
password-reset-form/page-suggestions overrides are authored correct-to-model but
do not dispatch (compiled BlockFuncs). page-suggestions also omits the dynamic
suggestion list (no FTS in codeless).

Verified: `make` (ninja plugin build) exit 0; check-safety exit 0. Visual quality
UNVERIFIED until Wave B.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-05 11:25:52 +08:00
Alex Dunmow
dccd269ab2 feat: convert to codeless .bnp — templates + manifest, Go/templ deleted (WO-WZ-021)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-04 15:17:12 +08:00
Alex Dunmow
b38c0d3a57 chore: repo hygiene for the wasm era (WO-WZ-015 fix round)
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>
2026-07-04 00:15:12 +08:00
Alex Dunmow
dc9b68c083 wasm port (WO-WZ-015): reactor-mode wasip1 guest, core v0.15.2
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>
2026-07-03 22:11:12 +08:00
Alex Dunmow
6200982d80 bump to 0.1.2 2026-07-03 22:09:59 +08:00
Alex Dunmow
fbe3b1a477 chore: declare templates category (themes carry categories) v0.1.1 2026-06-26 21:47:02 +08:00
Alex Dunmow
8a75a6c80e bump to 0.1.1 2026-06-26 00:58:17 +08:00
Alex Dunmow
771465c2d5 chore: showcase preview.png + align block/core to v0.14.1 2026-06-26 00:58:17 +08:00
Alex Dunmow
941eb6d94a Add plugin.mod 2026-06-25 15:10:56 +08:00
Alex Dunmow
796a9ce162 chore: bump core to v0.14.0
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-13 13:43:09 +08:00
Alex Dunmow
4b2dec9e97 chore: bump core to v0.13.1
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-10 22:30:55 +08:00
Alex Dunmow
f119111588 deps: bump block/core to v0.12.4
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-08 20:49:04 +08:00
Alex Dunmow
ffe46a146c initial: theme plugin kindergarten
Bootstrapped during the 2026-06-06 BlockNinja consolidation. Was previously
an unversioned directory inside ~/src/blockninja-themes/kindergarten.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-06 14:11:35 +08:00