No description
  • TypeScript 51.8%
  • Astro 34.3%
  • SCSS 10.3%
  • Nix 3.6%
Find a file
2026-07-19 00:27:58 +10:00
nix nix: publish by rename with prune-first, builds never run during activation 2026-07-18 21:42:59 +10:00
node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709 web: git path segments hard-wrap when a filename outgrows the frame 2026-07-18 20:17:05 +10:00
ooknet-design web: degrade lenient tables per width, keep the wide variant rich 2026-07-19 00:27:58 +10:00
.envrc project init 2026-04-27 17:21:09 +10:00
.gitignore web: git pages grow branches, per-file diffs, file history, and the site's own markdown renderer 2026-07-18 15:36:19 +10:00
flake.lock web: diagram fences, hand-drawn ascii and generated mermaid 2026-07-17 17:58:10 +10:00
flake.nix web: diagram fences, hand-drawn ascii and generated mermaid 2026-07-17 17:58:10 +10:00
README.md web: /git section, repos rendered by the site itself, forgejo demoted to plumbing 2026-07-18 15:36:14 +10:00

ooknet.org

Personal website. A text-mode knowledge base and the ascii design system that renders it - every border, chart, and frame on the site is a real character on a strict monospace grid.

Layout

PATH WHAT
ooknet-design/ the astro site and the ascii design system
nix/ dev shell

The rules

  • og ascii: no em dashes, no ellipsis glyphs, no curly quotes. checkGrid fails the build on off-grid characters.
  • every frame renders twice: 86 cells wide for desktop, 48 for mobile.
  • no smooth animation. motion is discrete, like a terminal.
  • components are pure builders with tests; chrome is text, not css borders.

Working on it

cd ooknet-design
npm run dev     # dev server on :4321
npm test        # vitest
npm run build   # static build + grid checks across every page

The dev shell comes from the flake; direnv allow and the tooling is there.

Content

Three collections under ooknet-design/src/content/: notes/ (personal writing, by subject), kb/ (vendor docs, credited), and docs/ (project documentation). All three cross-link with [[wikilinks]] and feed a REFERENCED BY index on every page.