Development

The HonoWiki Engine

Wikiglide runs on the HonoWiki Engine, a from-scratch wiki engine built by HonoWiki. This is why CSS class names throughout the app use the hw- prefix — short for HonoWiki. Technically, the markup documented in the markup reference is HonoWiki markup (the native markup of the HonoWiki Engine), but since Wikiglide is the site that uses it, "Wikiglide markup" and "HonoWiki markup" are used interchangeably.

Stack

The HonoWiki Engine 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