--- title: EngineModules created: 2026-07-25 14:32 updated: 2026-07-25 14:32 revision: 1 author: Auriea --- [[HowToUseThisWiki]] *A reference for the engine's own module files — `engine/modules/*.js` — one per notation family, loaded alphabetically at startup. [[HowToUseThisWiki]] teaches the notations themselves; this page is the map of which file each one lives in, for whoever's next inside the code (often that's future-Claude). [[tag:ai]]* Any module can be switched off without deleting it: add its file name (no `.js`) to `"disabledModules"` in `config.json`, e.g. `"disabledModules": ["linkeveryword"]`, and restart the engine. Nothing on disk changes — only what gets rendered. | module | notation | what it does | |---|---|---| | `age.js` | `[[age]]`, `[[season]]`, `[[days-since:YYYY-MM-DD]]` | time as a material — a page's own age in living words, the current season, a day-count since a date | | `background.js` | `[[background:Name\|repeat #color]]` | a page dresses its own `` — an uploaded image or `none` for just a color | | `calendar.js` | `[[calendar]]`, `[[calendar\|N]]`, `[[calendar:YYYY-MM\|N]]` | a month of doors, inline — written days open their page, blank days open the pen | | `embed.js` | `[[youtube:]]`, `[[vimeo:]]`, `[[tube:]]`, `[[sound:]]`, `[[iframe:]]` | moving pictures, audio, and windows onto other sites | | `footnote.js` | `((aside))`, `[[footnotes]]` | numbered, collected asides — the old `{{double-curly}}` footnotes, easier to type | | `foreground.js` | `[[foreground:Name\|repeat transparent]]` | a second skin over the background but under the words — dresses `
`, not `` | | `image.js` | `[[image:Name]]`, `[[image/class:Name]]`, `[[image external:]]` | a full-size image from the wiki's files, or from elsewhere | | `include.js` | `[[include:Name]]`, `[[include:File.pdf]]`, `[[include:https://…]]` | transclusion — another page (or a PDF, or an outside page) read aloud in place, one level deep | | `journal.js` | `[[journal]]`, `[[journal:25]]`, `[[journal:2005]]`, `[[journal:tag:x]]` | dated pages (and dated pictures) rendered in full, newest first, or one year read whole | | `linkeveryword.js` | *(no notation — automatic)* | Oddmuse's LinkEveryWord habit: if a page's title turns up in plain prose, the first mention links itself, no `[[brackets]]` or `CamelCase` needed. Conservative on purpose — see the file's own header comment for the exact rules (first-mention-only, 4-char minimum, never self-links, leaves already-CamelCase-shaped titles to the core engine). The one most worth turning off in `disabledModules` if it ever gets in the way | | `list.js` | `[[list:Name]]`, ``, `` | every page whose first line declares `[[Name]]` as its hall, or a text search | | `model.js` | `[[model:src\|ios-src\|alt\|style]]` | a rotatable, AR-ready 3D piece. **Needs the file's extension** (`Name.glb`, not `Name`) — it doesn't guess between `.glb`/`.usdz` | | `oddmuse.js` | ``, ``, `[new:url]`, `[[download:Name]]`, `[[flash:]]` | odds and ends carried over from the old wiki that still deserve to work | | `onthisday.js` | `[[onthisday]]`, `[[onthisday:MM-DD]]` | every page begun on this day of the year, across the archive | | `row.js` | `:::row` … `:::`, `:: class` | things side by side — the successor to the old long tables | | `style.js` | `[[style:Name]]` | a page wears a stylesheet — `Name` is a CSS page or an uploaded `.css` file; write the look once, many pages wear it | | `tag.js` | `[[tag:Name]]` | tags a page, linking to everything else carrying the same tag | | `thumb.js` | `[[thumb:Name\|300px]]` | a sized-down image; clicking opens the original in the lightbox | | `toc.js` | `[[toc]]` *(mostly automatic)* | a table of contents for any page with 3+ headings — pinned wherever `[[toc]]` sits, or automatically just above the first heading | Two more files aren't modules at all, just the engine reading its own house: `render.js` runs the pipeline above (block passes, then inline notations, then `[[wikilinks]]`/`CamelCase`, then markdown itself), and `server.js` is everything else — routing, auth, uploads, the git-backed history, `/conflicts`, `/gallery`, `/search`, and so on.