--- title: HowToUseThisWiki created: 2026-07-12 15:44 updated: 2026-07-25 14:34 revision: 15 author: Fable summary: "list every supported file type in its tag's own section (images, model, sound, video, +add missing include:/pdf entry)" --- *A field guide to this wiki's notations — what the old wiki called TextFormattingRules. Written by Fable, 2026-07-12, expanded 2026-07-14. Everything below is live: correct it, prune it, add to it.* ## Writing Pages are **markdown** — paragraphs, `**bold**`, `*italic*`, `# headings`, lists, quotes, code fences. Double-click any quiet spot on a page to edit it in place; **⌘S** saves, **esc** leaves, the title is editable too. Every save is kept forever — *history* at the foot of any page shows past versions and can restore them. **Starting a new page:** type its name into *search* (top right) and press enter. Already exists? It's the very first result. Doesn't exist yet? A dashed + name box offers to start writing it right there — the same one-click habit the old wiki's little `GoTo` field gave. A dashed [[WikiLink]] or `CamelCase` word does the same thing — see **Links** below. At the foot of every page: *edit · history · backlinks · raw*. Backlinks answers "what points here?" — it is also what makes *rename* safe: rename a page and every link to it is rewritten. To **delete** a page, the old gesture: edit it, replace its entire text with the single word `DeletedPage`, save. The page vanishes — but git forgets nothing, so its *history* remains and any version can be restored. Deletion here is a door closed, not a room burned. (Deleting an *image* is different and final — see **Images** below.) ## Headings & the table of contents Ordinary markdown headings — `# one hash` down to `###### six hashes` — make section titles, biggest to smallest:
# Big heading
## Medium heading
### Smaller still
The moment a page has **three or more headings**, a *Contents* box appears automatically, right before the first heading — a jump-link list nested to match the headings' depth, no notation needed. Fewer than three and nothing appears; a short page doesn't need a map. Every heading also gets its own address (a slug of its own words) so anything can link straight to it with an ordinary `#anchor` — a heading titled `Old notations that still work` becomes `#old-notations-that-still-work`, and that's exactly where the Contents box's link for it points. - [[toc]] — pins the Contents box at that exact spot instead of the automatic place just before the first heading. Handy for putting it in an intro paragraph, a sidebar, or wherever reads best. ## Links - [[PageName]] — a link to another page. Red and dashed means the page doesn't exist yet; click to write it. - [[PageName|any words]] — the same door, different sign. - [FiftyBooks the fifty books] — a lighter door: *any* page name (not only `CamelCase`), followed by a space and the words to show instead — the old wiki's `BracketWiki` gesture, brought back. One bracket instead of two, otherwise just like the line above. - `CamelCase` — two-or-more capitalized words run together still link to themselves with no brackets at all, the oldest reflex here. A leading `!` (`!CamelCase`) escapes it back into a plain word. - **Any other page's title, in plain prose, links itself too** — no brackets, no CamelCase needed. The first time a page mentions "Aegis" (say), it becomes a link; every later mention of Aegis on that same page stays plain text, so a paragraph that repeats a name doesn't turn into a wall of blue. It shows with a dotted underline instead of a solid one, so it reads as *found* rather than *placed*. This is a module (`linkeveryword`) — mildly opinionated, easy to regret — turn it off entirely by adding `"disabledModules": ["linkeveryword"]` to `config.json` and restarting; nothing else about any page changes when it's gone. See [[EngineModules]] for the rest of what's under the hood. - [text](https://elsewhere.com) — ordinary markdown links for the outside world. - [new:https://elsewhere.com label] — an outside link that opens in a new window. - A page whose first line is #REDIRECT [[PageName]] forwards visitors there — a change of address card. See *cp*, which forwards to *ConfigPage*. ## Footnotes - ((an aside)) — a footnote: double parentheses around the text. It becomes a small numbered marker where you wrote it((like this)), and the text itself is collected into a list at the foot of the page — hover the marker to read it without leaving your place, or click the number to jump down. Click the ↩ beside any entry to jump back. - [[footnotes]] — where the collected list appears, if you want to choose the spot yourself. Leave it out and the list is added automatically after the content, so a footnote is never orphaned. - !((not a footnote)) — a leading `!` escapes it, if you ever need two real parentheses in a row to just be parentheses. - The old wiki's spelling was `{{double curly braces}}` — harder to reach on a lot of keyboards. Every old footnote in this wiki has already been converted to `((...))`; the curly spelling isn't read anymore. ## Images Upload at */upload*, drop a picture straight into the editor, or paste a screenshot — any of the three lands the file and leaves [[thumb:Name]] behind. Give it a one-sentence description (its alt text — what the gallery, search, the viewer, and screen readers say when they mean it); a jpg or png over 2400px on the long edge is quietly resized before it ever touches disk, gifs and svgs are left alone. **Recognized image types:** `.jpg`/`.jpeg`, `.png`, `.gif`, `.svg`, `.webp`, `.avif`. Any of these on a line by itself, as a bare `https://…` link, turns straight into the picture — no notation needed, the oldest Oddmuse reflex of all. **Forgotten what a picture is called?** Open it — click it anywhere it appears — and the viewer's caption always says its wiki name, right below the description: `name: Aloysius`, and that name is now a link straight to the picture's own page in the wiki. **Naming it something other than the file:** on */upload*, a **linked as** field sits above the description — leave it blank and the file's own name (minus extension) is used, same as always; fill it in and the wiki answers to that instead. Upload `IMG_4021.jpg` as `Aloysius` and it saves as `Aloysius.jpg`, findable forever after as [[image:Aloysius]]. **AI description (optional):** if this wiki has been given its own Anthropic key (`npm run claude-key` in the `wiki` folder, once — writes a small gitignored file; the key never reaches the browser), an **AI description** button appears on */upload* next to the ordinary upload button. Click it and Claude looks at the picture and writes the alt text. Always editable afterward, never required — no key set, no button shown, nothing else about uploading changes. - [[thumb:Name|300px]] — a sized-down image. Sizes like `300px`, `50%`, or a bare number all work. - [[image:Name]] — the image at full size. - [[image/someclass:Name]] — full size, wearing a CSS class. - [[image external:url|alt|link]] — an image that lives elsewhere. A name with nothing behind it yet — [[image:Aloysius]] or [[thumb:Aloysius]] for a picture not uploaded yet — shows red and dashed like a missing page. Click it and it opens */upload* with that name already filled in, waiting for a file. Clicking any image opens the **viewer**: large, with its description as caption, and arrows (or arrow keys, or a swipe) to walk through every image on the page. Esc closes. When logged in, the viewer also offers **edit caption** — a small page of its own for rewriting the description or its tags, and, at the bottom behind a confirm, **delete this picture**. **Deleting an image is not like deleting a page.** A deleted page leaves a ghost and *history* can always bring it back; a deleted image is simply gone from the wiki's own view of itself the moment you confirm — there is no undo screen. (The bytes still sit in old git commits if it ever truly mattered, but nothing in the wiki itself offers them back.) A page that used to show the picture just shows a gap where it was. ## Sound, film, sculpture - [[model:Name.glb]] — a 3D piece, rotatable, AR-ready on a phone. Recognized model types: `.glb`, `.gltf`, `.usdz`. Unlike `[[thumb:]]`/`[[image:]]`, this one wants the file's **extension included** — `[[model:Name.glb]]`, not `[[model:Name]]` — since it doesn't guess between them. `[[model:Name.glb|Name.usdz]]` puts the AR/iOS file (`.usdz`) in the second slot so Quick Look picks it up on a phone. The upload confirmation page always shows the exact snippet to copy, extension and all. - [[youtube:VIDEOID]] and [[vimeo:VIDEOID]] — moving pictures (add `w h` after the id for a size). The oldest spelling, [[tube:ID]], still works. A video file uploaded to the wiki itself (`.mp4`) has no inline player of its own yet — offer it with `[[download:Name]]`, or drop it straight into `[[iframe:/files/Name.mp4]]` for an inline one. - [[download:Name]] — a file offered for keeping, whatever it is — a `.mp4`, a `.zip`, a `.pdf` someone should save rather than read in place. - [[sound:file.mp3]] — an audio player. Any audio file the browser can play works the same way — `.mp3` is just the everyday case, `.wav`/`.ogg`/`.m4a` and the rest all drop in the same notation. - [[iframe:src|w|h]] — a window onto another site. - [[include:File.pdf]] — a `.pdf`, embedded to read in place, with a link underneath. [[include:PageName]] transcludes another page's whole body instead — same notation, different door, one level deep (an included page's own includes stay closed). ## Tags [[tag:Name]] anywhere on a page tags it. The notation renders as a link to everything else carrying that tag. All tags gather at */tags*. Uploaded images carry tags too, in the file manifest — set them from the same **edit caption** screen described above. [[list:Name]] — every page that declares [[Name]] as its hall (a link in its first line), listed alphabetically. This is the old cluster listing; the old spellings <list "Name"> and <search "word"> still work. ## Categories & the nav bar The old wiki's category habit still works, only lighter: a page's very first line, if it's a lone [[PageName]] with nothing else on the line, becomes that page's *hall* — a quiet label above the title instead of the first line of the prose. `FiftyBooks` and `ElegantMedia` are halls this way, among many others; no special setup, no field to fill in — just make the first line a link and save. *Atlas* is the hand-written map of every hall in the wiki, the place to look when a category's main page has slipped your mind. The top bar itself is a page, the old wiki's way: edit **NavBar** — search for it, or go straight there — one link per line, [[Page]], [[Page|label]], or `[label](/url)` for the engine's own doors (index, recent, gallery…). Add a line for any hall you want one click away from everywhere; delete the whole page and the built-in bar returns. **A pulldown:** a bare line ending in a colon, like `categories:`, opens a group — indent the link lines under it and they become that pulldown's menu instead of separate items in the bar:
categories:
  [[FiftyBooks|books]]
  [[ElegantMedia|media]]
Click the label to open it, click a link to go, click anywhere else to close it again — the browser does the work, no script required. ## Time - [[age]] — how long the page has existed, in living words. This page is [[age]]. - [[season]] — the season right now: it is [[season]]. - [[days-since:1999-01-29]] — a count of days since a date: [[days-since:1999-01-29]] since meeting in hell. - [[onthisday]] — pages from today's date in past years; [[onthisday:06-20]] for any month-day. - [[journal]] — the ten newest dated pages *and dated pictures*, rendered in full, newest first. [[journal:25]] for more; [[journal:2005]] for one year, oldest first; [[journal:tag:wip]] for a diary of everything tagged *wip* (see the *WIP* page). The old <journal search tag:x> spelling still works. - [[calendar]] — this month, inline, every day clickable: written days open their page, blank days open the pen. [[calendar|3]] for this month and the two before; [[calendar:2026-05|4]] for a particular month and the three before it. The [[Diary]] wears one. - */calendar* — a year of months where *every* day is a door: the written ones open their page, the blank ones invite you to write the day. ## Dressing a page - [[style:Name]] — the page wears a stylesheet. *Name* is another page whose body is CSS (plain, or in a ```` ```css ```` fence), or an uploaded .css file. Write a look once, and every page that declares it changes together. - [[background:ImageName|repeat #ded9c5]] — the page dresses its own body. Also [[background:none|#000]] for just a color, or `background external:` for an image elsewhere. Params in any order: repeat/no-repeat, a #color, fixed/scroll, anything else becomes position. - [[foreground:Name|repeat transparent]] — a second skin over the background but under the words. - The **whole site** can wear a stylesheet page: set `"stylesheet": "css"` in config.json and every page wears the *css* page, like the old $StyleSheetPage. Point it at any page name. ## Rows — things side by side The successor to the old long tables (all the *Book* pages already speak it):
:::row booknav
:: l
[[Book18|18.]]
:: r
[[Book16|16.]]
:::
One block is one row. Each `::` begins a cell — everything until the next `::` belongs to it: markdown, images, notations, all of it. The word after `:::row` or `::` is a CSS class (`l`, `r`, `c` align left, right, center). Short rows fit on one line, cells split on  :: :
:::row
[[thumb:one|200]] :: [[thumb:two|200]]
:::
For actual *data*, ordinary markdown pipe tables work too:
| year | book |
|------|------|
| 1993 | 17   |
## Old notations that still work - <source> … </source> — pasted text shown as-is in a quiet scrolling well. - <comment> … </comment> — an aside that stays in the text but never shows. ## Keeping it yours — password, tokens, going online None of this is required to write in the wiki; it only matters once the wiki is reachable by anyone other than you. **The password:** from the `wiki` folder, `npm run password` sets one — it writes `.auth.json` (gitignored, no secret ever enters history). From then on *reading* stays public but editing, saving, uploading, and restoring want a login at */login* (a 90-day cookie). Without `.auth.json` the wiki is wide open — fine on your own Mac, not once it's on the internet. To hide even the reading, set `"private": true` in `config.json`. Changing the password logs out every browser. **Publishing from another app:** `npm run api-token` mints a token in `.api-token.json` (gitignored) that lets an app — Tincture, for instance — call the wiki's upload and save doors directly, with a bearer token instead of a login cookie. It never unlocks editing by hand, renaming, or a private wiki's reading. Run the command again any time to rotate it; the old token stops working the moment the new one is written. **Going online:** the engine can live on a small server so the wiki is editable from anywhere and so Tincture (or anything else with the token above) can reach it. Double-click **Go Online.command** in the wiki's folder; **Bring Home.command** pulls it back to this Mac. `deploy/README.md` tells the whole story if the short version isn't enough. **Backups:** every save is already a git commit, so the entire wiki's past is inside it — nothing extra to remember day to day. If this Mac itself were ever lost, whatever the wiki was last brought home to (or its copy on the small server, if it's currently online) is the backup. **Baking a static copy:** `npm run export` (from the `wiki` folder, in Terminal) writes the whole wiki out as plain HTML files into `_site/` — reading, search, the gallery, tags, and */random* all still work with no server at all, for handing the wiki to any ordinary web host. It's a snapshot, not a mirror — it doesn't update itself, and nothing typed into it saves back here. ## The doors *about · atlas · index · recent · gallery · tags · random* in the nav, plus: - */index* — every page, alphabetically, with a jump-to-letter alphabet. - */Atlas* — the map of the whole wiki, drawn by hall and room. - */gallery* — every image, shuffled; reload for a new arrangement. - */search* — pages and images both. - */calendar* — the days as doors. - */conflicts* — names that currently answer to more than one thing (a page and a file sharing a name, say) — worth a look after a big upload session. - */feed* — RSS of recently changed pages, for the readers that never stopped listening. The engine's own settings — title, home page, port, the site stylesheet, `private`, `maxImageDimension`, `disabledModules` — live in `config.json` next to the content — the one thing here that is not a page. [[EngineModules]] is the map of every module file behind the notations above.