code wiki / _hdl_build / nx_render_wiki_styled.nx
nx_render_wiki_styled.nx source
↩ module page · 26 lines · 1290 B
1// nx_render_wiki_styled.nx -- thin driver: read the most-recently-fetched page (saved by nishi after
2// a live fetch), else the bundled Wikipedia snapshot, and render it to a styled BMP via the reusable
3// nx_render_html_to_bmp. (The whole styled pipeline now lives in nx_render_html.nx so nx_browse shares
4// it.) No gcc/V8/Chrome.
5import "nx_syscalls.nx"
6import "nx_render_html.nx"
7
8func main() -> i64 {
9 let lp: *i64 = sys_mmap(16) as *i64
10 var raw: *u8 = sys_read_file("knowledge/fetched/last_fetch.html\x00" as *u8, lp)
11 var hlen: i64 = *lp
12 if hlen <= 0 {
13 raw = sys_read_file("knowledge/fetched/wiki_web_dev.html\x00" as *u8, lp)
14 hlen = *lp
15 }
16 if hlen <= 0 { sys_write(2, "no html\n" as *u8, 8); return 1 }
17 let nboxes: i64 = nx_render_html_to_bmp(raw, hlen, "knowledge/status/wiki_styled.bmp\x00" as *u8)
18 sys_write(1, "styled render -> knowledge/status/wiki_styled.bmp boxes=" as *u8, 56)
19 let db: *u8 = sys_mmap(16); var kk: i64 = 0; var m: i64 = nboxes
20 if m == 0 { db[0] = 48; kk = 1 }
21 while m > 0 { db[kk] = (48 + (m % 10)) as u8; m = m / 10; kk = kk + 1 }
22 var o: i64 = 0; let ob: *u8 = sys_mmap(16)
23 while o < kk { ob[o] = db[kk-1-o]; o = o + 1 }
24 sys_write(1, ob, kk); sys_write(1, "\n" as *u8, 1)
25 return 0
26}