From f700b2af8e874c586e6996b8311c3983203c6637 Mon Sep 17 00:00:00 2001 From: Gabriel Schneider Date: Thu, 1 Oct 2026 13:05:10 -0300 Subject: Builtins are chips that link to a glossary generated from the registry, and the virtual filesystem is drawn as a tree #word draws a builtin as a chip on the tag's ground over a rule (Look and Exec in acme's look green and exec red), a in HTML, and links it to its entry in a new Builtins chapter wherever that chapter is in the same output (the book, the site). The chapter is drawn from docs/typ/builtins-tty.json and builtins-gui.json, which `zig build builtins-json -Dplatform=tty|gui` writes from the registry and the Help rows (src/builtins_json.zig, tools/gen_builtins_json.zig; summaryOf in ninep/ctl.zig is now pub); style.typ merges them, marking the window-only words. The doc steps refresh their build's file first, and each build's unit-test fails when its file is stale. Everyday words first (`everyday` in style.typ), then groups by leader prefix as Help has them, then settings, the words with no path, debugging and internals, and last an A-Z index of every word. `zig build book` joins the doc steps. #fstree draws a directory tree with its connectors, a description column and links to the sections that document each file; reference.typ draws the served tree with it, each pane, pty and column file on its own line, and a test in config.zig checks it against ninep/tree.zig's files both ways. The cheatsheet has a two-level version. On the site the tree reads as `tree` text in w3m and wraps descriptions under the names on a phone. The site's tutor draws its B1, B2, B3 and 1-2 chords as mouse glyphs; the landing credits Plan 9 and acme, as does the book's title page; install.typ no longer lists the mirrors (the footer does). Co-Authored-By: Claude Opus 5.5 --- docs/typ/book.typ | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'docs/typ/book.typ') diff --git a/docs/typ/book.typ b/docs/typ/book.typ index 7223ea1d..b2245372 100644 --- a/docs/typ/book.typ +++ b/docs/typ/book.typ @@ -30,6 +30,10 @@ text(size: 34pt, weight: "bold", fill: palette.tag-name)[pardes] v(4mm) text(size: 13pt, style: "italic", fill: palette.tag-fg, tagline) + v(10mm) + text(size: 11pt, fill: palette.ink)[Built on ideas from #link("https://9p.io/plan9/")[Plan 9] from Bell + Labs: #link("https://9p.io/sys/doc/acme/acme.html")[acme]'s text as the interface, and the 9P + protocol.] v(2fr) }) -- cgit v1.3