code wiki / _hdl_build / nx_kit_journal.nx

nx_kit_journal.nx

buildroot/runtime/_hdl_build/nx_kit_journal.nx

10009 B117 linesdepth 3pulls 3 transitivereach 4 importersview sourcekind librarytopic kit
docsdependenciesstructsconstsfunctions

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

nx_uigen_l1.nx nx_kit_shell.nx nx_kit_journal.nx nx_uigen_site.nx

imports: nx_uigen_l1.nxnx_kit_shell.nx

imported by: nx_uigen_site.nx

structs

none

consts

none

functions

20func kj_styles(buf: *u8, off: i64, hue: i64) -> i64
61func kj_lead(buf: *u8, off: i64, kick: *u8, headline: *u8, deck: *u8, byline: *u8, p1: *u8, p2: *u8, p3: *u8) -> i64
79func kj_more_open(buf: *u8, off: i64, label: *u8) -> i64
85func kj_art(buf: *u8, off: i64, headline: *u8, dek: *u8, meta: *u8) -> i64
95func kj_more_close(buf: *u8, off: i64) -> i64 { return he_puts(buf, off, "</div></div></section>" as *u8) }
96func kj_sub(buf: *u8, off: i64, h2: *u8, p: *u8, label: *u8, href: *u8) -> i64
109func kj_doc_styles(buf: *u8, off: i64) -> i64
called by 1: us_shell_doc