Wiki
A collaborative, markdown-based wiki at /wiki/ — reference material,
guides, and anything else the community wants a shared, editable page
for. 52 reference pages ship pre-seeded (connecting, every messaging
subsystem, door games, echomail/BinkP setup, NodeSpy, backups, full
architecture, sysop guide, glossary, FAQ).
Web-only today — there's no terminal wiki reader/editor.
Reading and browsing
/wiki/— the wiki home page./wiki/all— every page, alphabetically./wiki/recent— recently changed pages./wiki/search— full-text search across page bodies./wiki/wanted— pages that are linked to (via[[Page Name]]) but
don't exist yet — a to-do list for what to write next./wiki/orphans— pages nothing else links to, useful for finding
content that's hard to discover by browsing.
Anyone, including a logged-out visitor, can read any page.
Editing
Logged-in users can edit, gated by two configurable thresholds (both
must be met): a minimum number of posts (WIKI_MIN_POSTS in .env,
default 5) and a minimum account age in days (WIKI_MIN_DAYS, default
3). This keeps a brand-new throwaway account from immediately editing
pages, without requiring a separate wiki-specific permission to grant.
A page an admin has locked (see below) can't be edited regardless of
who's asking.
Page bodies are markdown, rendered through the same sanitization
pipeline (markdown → bleach) as boards and echomail, capped at 500,000
characters. [[Page Name]] creates a link to another wiki page —
linking to a page that doesn't exist yet is exactly how it shows up on
/wiki/wanted.
Revision history
Every save creates a new revision — nothing is overwritten. Per page:
/wiki/<slug>/history— every past revision, with author and edit
summary./wiki/<slug>/rev/<n>— view one specific past revision./wiki/<slug>/diff/<a>/<b>— a unified diff between two revisions./wiki/<slug>/revert/<n>(admin) — restore an old revision as the
new current one (itself recorded as a new revision, so nothing from
the history is lost).
Admin actions
Admins can lock a page (blocks further edits regardless of the normal
edit gate), delete a page, or restore a deleted one. A locked page is
the right tool for reference material that shouldn't drift — the
glossary or the architecture overview, say — while still leaving the
rest of the wiki open for community contributions.
Seeded pages don't clobber real edits
The 52 pages ANetBBS ships with are periodically re-synced from their
built-in source text on startup, but only while a page has never been
edited by a real person (anetbbs/wiki/seed.py's sync logic checks
whether a page's latest revision has a real author_id before
touching it). Once anyone edits a seeded page, it's permanently theirs
— a future ANetBBS update to the stock wiki content will never
overwrite what a sysop or user actually wrote.