code wiki / _hdl_build / nx_brand_gallery_gate.nx

nx_brand_gallery_gate.nx source

↩ module page · 54 lines · 2520 B

1// nx_brand_gallery_gate.nx -- each starter template renders through the brand-wired builder: on-brand, token-driven, 2// distinct. 100% sovereign. expect_exit: 0 3import "nx_syscalls.nx" 4import "nx_sitegate_emit_lib.nx" 5import "nx_brand_gallery.nx" 6import "nx_site_compose.nx" 7import "nx_brand_tokens.nx" 8 9 10func g_has(s: *u8, n: i64, lit: *u8) -> i64 { if bt_find(s, n, lit, bt_len(lit)) >= 0 { return 1 } return 0 } 11// render a template id through the builder into out; return length (or -1). 12func g_render(id: *u8, out: *u8, cap: i64) -> i64 { 13 let tpl: *u8 = bg_template(id) 14 if (tpl as i64) == 0 { return 0 - 1 } 15 var tn: i64 = 0; while tpl[tn] != (0 as u8) { tn = tn + 1 } 16 let fd: i64 = sys_openat_wr("/tmp/nx_gal.html" as *u8, 0x1a4) 17 compose_build(tpl, tn, fd, "web_assets/_game_build/game_page.tpl.html" as *u8) 18 sys_close(fd) 19 let lp: *i64 = sys_mmap(16) as *i64 20 let pg: *u8 = sys_read_file("/tmp/nx_gal.html" as *u8, lp) 21 let pn: i64 = lp[0] 22 var i: i64 = 0 23 while i < pn { if i < cap { out[i] = pg[i] } i = i + 1 } 24 return pn 25} 26// does a rendered template build + use tokens + contain its unique headline? 27func g_ok(id: *u8, headline: *u8, tot: *i64) -> i64 { 28 let buf: *u8 = sys_mmap(16384) 29 let n: i64 = g_render(id, buf, 16384) 30 var ok: i64 = 0 31 if n > 0 { if g_has(buf, n, "<header" as *u8) == 1 { if g_has(buf, n, "var(--nx-color-primary)" as *u8) == 1 { if g_has(buf, n, headline) == 1 { ok = 1 } } } } 32 gw(" template " as *u8); gw(id); gw(": " as *u8); gn(n); gw(" bytes, token-driven=" as *u8); gn(ok); gw("\n" as *u8) 33 t_row(id, ok, tot) 34 return ok 35} 36 37func main() -> i64 { 38 let tot: *i64 = sys_mmap(32) as *i64 39 tot[0]=0; tot[1]=0 40 gw("=== nx_brand_gallery_gate -- starter template gallery (on-brand, token-driven, distinct) ===\n" as *u8) 41 42 var t0: i64 = 0; if bg_count() == 4 { t0 = 1 } 43 t_row("G0 gallery has 4 starter templates" as *u8, t0, tot) 44 45 g_ok("landing" as *u8, "One clear headline" as *u8, tot) 46 g_ok("services" as *u8, "Services that move you forward" as *u8, tot) 47 g_ok("about" as *u8, "The people behind the work" as *u8, tot) 48 g_ok("contact" as *u8, "Let us talk" as *u8, tot) 49 50 gw("\nrows pass=" as *u8); gn(tot[0]); gw(" fail=" as *u8); gn(tot[1]); gw("\n" as *u8) 51 if tot[1] == 0 { gw("VERDICT=GREEN -- starter template gallery: 4 distinct on-brand templates render via the builder. (Breadth vs Wix 900 = R6 BEHIND.)\n" as *u8); return 0 } 52 gw("VERDICT=RED\n" as *u8) 53 return 1 54}