code wiki / _hdl_build / nx_kit_journal.nx
nx_kit_journal.nx
buildroot/runtime/_hdl_build/nx_kit_journal.nx
about
nx_kit_journal.nx -- the JOURNAL design family: an editorial/publication grammar for blog, magazine,
newsletter and press briefs. Third first-class family after the marketing default and Counsel.
★WHY THIS EXISTS RATHER THAN REUSING nx_kit2's ke_* editorial kit (measured 2026-07-25, not assumed):
that kit is a genuinely good newspaper grammar but is NOT composable by the site generator --
(1) it carries ZERO design tokens (every colour is a hardcoded hex) so a generated palette cannot
retheme it; (2) it has no prefers-reduced-motion; (3) its masthead nav is HARDCODED to /factory/ and
nishifamily.com, so a generated site cannot carry its OWN cross-page nav -- which would fail the
nav-complete and link-resolution teeth. Retrofitting it would mutate a shared file the published
/factory pages depend on (another lane's artifacts). So: additive family here, floor met by
construction, zero sibling risk. The finding itself is the reusable lesson.
The grammar: small-caps masthead wordmark over a DOUBLE RULE · kicker + large serif headline + italic
deck · drop-capped two-column justified lead · ruled article list w/ small-caps meta · dark subscribe
band. All colour flows through --kj-* derived from the generated palette, so every brief gets its own
ink; both themes; reduced-motion respected. Pure emit. license_tier: ORIGINAL
dependencies 2 imports · 1 importers
imports: nx_uigen_l1.nxnx_kit_shell.nx
imported by: nx_uigen_site.nx
structs
| none |
consts
| none |
functions
| 20 | func kj_styles(buf: *u8, off: i64, hue: i64) -> i64 |
| 61 | func kj_lead(buf: *u8, off: i64, kick: *u8, headline: *u8, deck: *u8, byline: *u8, p1: *u8, p2: *u8, p3: *u8) -> i64 called by 1: us_page_index_journal |
| 79 | func kj_more_open(buf: *u8, off: i64, label: *u8) -> i64 called by 1: us_page_index_journal |
| 85 | func kj_art(buf: *u8, off: i64, headline: *u8, dek: *u8, meta: *u8) -> i64 called by 1: us_page_index_journal |
| 95 | func kj_more_close(buf: *u8, off: i64) -> i64 { return he_puts(buf, off, "</div></div></section>" as *u8) } called by 1: us_page_index_journal |
| 96 | func kj_sub(buf: *u8, off: i64, h2: *u8, p: *u8, label: *u8, href: *u8) -> i64 called by 1: us_page_index_journal |
| 109 | func kj_doc_styles(buf: *u8, off: i64) -> i64 called by 1: us_shell_doc |