Terminal
A shell for the whole site: ls the projects, filter by tag, cat the writing and open anything, with tab completion.
The numbers
How it works
Every line you type goes through the same three steps as a real shell. History expansion first swaps !!, !3 or !ls for an earlier line. The lexer then walks the characters once: spaces end a word, 'single quotes' keep everything exactly, "double quotes" keep spaces but still expand $USER, a backslash escapes one character, and |, ; and && become operators. The parser groups the words into pipelines of commands, and each command returns lines that the next stage (grep, head, wc, sort) can filter.
Tab completion lexes only the text before the caret, in a forgiving mode that allows an unfinished quote, to find the word being typed and its position: the first word completes command names, later words ask that command for candidates (slugs, tags, posts). One match is filled in, several are extended to their longest common prefix, and if that adds nothing the list is printed. A mistyped name gets a suggestion from the edit distance.
All the data comes from the site manifest the build writes into the page, checked field by field, and every character is printed as a text node, so nothing in a name can become markup.
a shell is a tiny language: one pass of a lexer and a few rules give quoting, pipes and history.