NAME
nasr — conventions and interactive features of nasr(1)
SYNOPSIS
nasr(7)
DESCRIPTION
This page documents the interactive behaviour of nasr(1). None of it is required reading. nasr(1) is a complete document with JavaScript disabled, and every feature described here is an addition to a page that already works without it.
The conventions below are borrowed from the tools they resemble — less(1) for navigation, apropos(1) for term lookup, sh(1) for the command line — and behave the way those tools behave wherever it was possible to make them.
KEYS
Navigation follows less(1).
Keys are ignored while a text field has focus. Browser find (Ctrl-F, Cmd-F) is untouched.
SEARCHING
/ opens a search prompt in the status line at the foot of the window. Matches are highlighted in place and counted in the status line. n and N move between them. q or Escape closes the prompt and clears highlights. Search covers the full document, including collapsed FILES entries — a match inside a collapsed entry expands it.
ANNOTATIONS
Terms with a dotted underline carry a one-line definition in the style of whatis(1). Hover, tap on a touch device, or focus with the keyboard. Each term is annotated on its first appearance in a section only.
Definitions are associated with their term via aria-describedby and are removed from the reading flow when inactive, so they do not interrupt the sentence for a screen reader or a text extractor.
FILTERING
The flags in the SYNOPSIS of nasr(1) are not decorative. Selecting one reduces the document to the entries tagged with it — the matching OPTIONS row, the relevant commits in HISTORY, the relevant entries in FILES. Multiple flags compose as a union. NAME, DESCRIPTION, ENVIRONMENT and SEE ALSO are never filtered.
- /?flags=cuda,cpp — GPU and systems work only
- /?flags=java,plsql — backend and database work only
These links are stable and can be shared. A filtered URL is the same document with a narrower argument, not a different page.
COMMANDS
sh(1) is at /sh. It is a small interpreter over the content of this site, supporting argument parsing, quoted strings, command history, tab completion, and a pipe operator between builtins.
Piping works between ls, cat and grep:
$ ls ~/1337 | grep cuda
$ cat ~/1337/webserv | grep poll
This is deliberate. nasr(1) describes a shell I wrote from scratch; implementing the parsing here rather than faking the output seemed like the honest option. The process model is absent — there are no processes to fork in a browser tab — but the tokeniser, the quoting rules and the pipeline are real.
History is kept in sessionStorage and discarded when the tab closes.
FILES
PRINTING
nasr(1) has a print stylesheet. Printing, or saving to PDF, produces a typeset one-page document with the interactive elements removed, FILES collapsed to summary lines, and every link expanded to its target in a closing SEE ALSO block.
ACCESSIBILITY
The document is a single column of monospaced text with a real heading hierarchy and full keyboard operation. Decorative elements — the commit graph gutter and the rendered figure in FILES — are hidden from assistive technology and described in text nearby.
The rendered figure animates. It stops when scrolled out of view, when the tab is hidden, and entirely under prefers-reduced-motion, where a single static frame is shown instead.
Every interactive feature described on this page has a pointer equivalent, a keyboard equivalent, and a state in which it is absent and the document still reads.
NOTES
The figure beside miniRT in nasr(1) is not an image. Sphere intersection and Phong shading are computed per frame and rasterised to characters, using the same lighting model as the project it sits beside. It contains no pixels.