Development

Project codename: Honolulu

WikiGlide's internal repository is named Honolulu — the original codename for the project. This is why CSS class names throughout the engine use the hw- prefix (short for Honolulu Wiki). The prefix is purely internal and does not appear in any user-facing markup or content.

Stack

WikiGlide is built with Hono (a lightweight web framework) and PostgreSQL, written entirely in TypeScript. There is no client-side framework — every page is server-rendered HTML.

Architecture

The engine is organized around a few core layers:

  • Parser — A custom wikitext parser that transforms markup into HTML in a single pass. Handles headings, links, tables, templates, references, and image embeds. Template expansion is async (templates are regular wiki pages fetched from the database), while the core parse is synchronous.
  • Storage — A content-addressable model inspired by MediaWiki's MCR (Multi-Content Revisions). Each edit creates a revision pointing to content blobs identified by SHA-256 hash, so identical content is stored only once.
  • Auth — JWT-based with four permission groups: anonymous, user, curator, and sysop. Email verification is required for write operations.

Templates

Templates are ordinary wiki pages — {{Foo}} looks up the page titled "Foo" and expands it. Parameters use {{{1}}}, {{{name|default}}} syntax. A handful of magic templates (like {{note}} and {{reflist}}) are intercepted by the engine before database lookup.

User-facing CSS classes

Classes that wiki authors can use in their markup follow the wikitable- naming convention instead of the internal hw- prefix:

  • wikitable-stack
  • wikitable-card
  • wikitable-pinfirst

See the markup reference for details on these classes.

← Back to About