---
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.