27 Commits

Author SHA1 Message Date
Alex Dunmow
f62bd73e33 bump to 0.4.0 2026-07-06 21:30:16 +08:00
Alex Dunmow
67032a462d feat: Wave B retina gallery screenshots (home/about/article x light+dark, 2880x1800, dark-first)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-06 21:30:03 +08:00
Alex Dunmow
9c29baef09 bump to 0.3.1 2026-07-06 21:23:58 +08:00
Alex Dunmow
1bab4171a9 feat(fonts): bundle JetBrains Mono + IBM Plex Mono via @font-face + preset typography refs
The host does not consume bundled_fonts (LoadedPlugin.BundledFonts is dead
code), so declare @font-face against the served /templates/terminal/fonts/
paths and point each preset's typography.fontHeading/body/mono at
template:terminal:<Family>. Mono faces now render instead of fallback sans.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-06 21:23:53 +08:00
Alex Dunmow
0e51058af0 bump to 0.3.0 2026-07-06 10:01:53 +08:00
Alex Dunmow
98594406a7 feat: Wave B gallery screenshots (home/about/article × light+dark) 2026-07-06 10:01:37 +08:00
Alex Dunmow
d501e0ae32 chore: rename dev host localdev.blockninjacms.com -> blockninja.dev 2026-07-05 20:50:30 +08:00
Alex Dunmow
c37bfe6294 refactor: replace hand-rolled utility CSS with Tailwind classes (host build now scans theme templates) 2026-07-05 17:58:03 +08:00
Alex Dunmow
1bdb2cfe3e 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:25 +08:00
Alex Dunmow
0e54864687 fix(terminal): remediate layout/whitespace + mobile responsiveness
Layout/whitespace (home page):
- feature-grid rendered as 3 full-width ballooning rows because the host
  Tailwind scan covers rendered block HTML, not theme override .ninjatpl
  files, so lg:grid-cols-* utilities in overrides are purge-fragile and
  collapsed to one column. Move multi-column layout to plain CSS in
  css.input_css_append (.tty-grid*, never purged) and apply to
  feature-grid, stats, pricing, contact-card + a .tty-form-grid for
  contact-form (col-span utilities were equally fragile).
- code_console / boot_log persona blocks shipped no max-width wrapper and
  ran edge-to-edge on the full-width landing page while sibling sections
  were contained; wrap both in a centred .tty-console-shell with a mobile
  side gutter.
- CTA heading read dark-on-green (fails contrast): .terminal-heading in
  assets/style.css hardcoded color:foreground, overriding the band's
  primary-foreground. Change to color:inherit so headings on inverted
  bands read correctly.
- Trim oversized section padding (py-16 md:py-24 -> py-12 md:py-20; the
  window-nested contact sections -> py-8 md:py-12).

Mobile:
- All multi-column grids now collapse to 1 column via CSS media queries
  (minmax(0,1fr) prevents long/monospace content forcing horizontal
  overflow); console blocks keep overflow-x scroll inside their own box.
- Pin hero min-heights to CSS (.tty-hero*) since min-h-screen / arbitrary
  min-h-[..] utilities are also purge-fragile.

Persona (phosphor TTY, window chrome, man-page, canvas hero) unchanged.
No version bump. make + check-safety both exit 0.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-05 17:26:40 +08:00
Alex Dunmow
48d8b8ef45 bump to 0.2.1 2026-07-05 16:44:49 +08:00
Alex Dunmow
11e10847bf docs: publishing README 2026-07-05 13:44:04 +08:00
Alex Dunmow
daab6750fe feat(terminal): Wave A full theme build (WO-TF-025)
Bring the terminal dev-tool/OSS-docs theme to full Wave A OVERRIDE-CONTRACT
compliance.

- 49 mandatory builtin overrides in templates/overrides/terminal/ (TTY chrome,
  re-skinned from the frozen builtin defaults; every content field, provider var,
  custom tag, data-bn-* attr and inline script preserved verbatim).
- 7 page templates (default, full-width, landing, article, blog-index, contact,
  auth) with TTY-window chrome, man-page article layout, and theme_mode-driven
  light/dark switching.
- GO BIG motion: dependency-free ASCII glyph-rain canvas on the hero override
  only (lazy-init, prefers-reduced-motion honored, static phosphor fallback).
- 4 persona blocks (manpage_header, code_console, keybind_table, boot_log);
  ascii_header/toc/footer blocks retired in favour of overrides + template
  furniture.
- 5 dual-mode presets (mode "both", all 19 tokens) with intentional paper-teletype
  light and phosphor dark sides.
- Bundled OFL mono fonts (JetBrains Mono, IBM Plex Mono) with LICENSES record;
  all font-family via var(--font-heading|body|mono, fallback).
- Themed email-safe wrapper (retained), master pages, and a seeded "grid" OSS
  dev-tool demo site (home, about, changelog + 3 posts, contact with
  row_inserted -> email-admins workflow, login).
- Declared required_icon_packs = [lucide, simple-icons].

Verified: make build exit 0, make verify exit 0, check-safety exit 0.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-05 12:41:04 +08:00
Alex Dunmow
f6e2c1dccc 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:31:20 +08:00
Alex Dunmow
d494eedb00 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), add a
.gitignore for *.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:52 +08:00
Alex Dunmow
d684225e8d 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
ffd7f8cd66 bump to 0.1.3 2026-07-03 22:10:36 +08:00
Alex Dunmow
7ba1e6340c chore: declare templates category (themes carry categories) v0.1.2 2026-06-26 21:47:02 +08:00
Alex Dunmow
c97c0d3093 bump to 0.1.2 2026-06-26 00:33:26 +08:00
Alex Dunmow
7c12ba1de2 chore: showcase preview.png + align block/core to v0.14.1 2026-06-26 00:33:26 +08:00
Alex Dunmow
659c822f62 bump to 0.1.1 2026-06-25 21:39:37 +08:00
Alex Dunmow
54368d3fe1 feat(theme): add showcase preview screenshot + bump core to v0.14.1
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-25 21:39:37 +08:00
Alex Dunmow
1576d73662 Add plugin.mod 2026-06-25 15:10:56 +08:00
Alex Dunmow
92345d0c63 chore: bump core to v0.14.0
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-13 13:44:09 +08:00
Alex Dunmow
2ed1136d4b chore: bump core to v0.13.1
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-10 22:31:03 +08:00
Alex Dunmow
01c6984d40 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
0a9b177f7c initial: theme plugin terminal
Bootstrapped during the 2026-06-06 BlockNinja consolidation. Was previously
an unversioned directory inside ~/src/blockninja-themes/terminal.

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