Skip to content

Page

A page of written content — the prose half of an adventure.

Where an Entity is structured data rendered from a system’s definitions, a Page is authored HTML stored verbatim: room descriptions, read-aloud text, handouts, session notes. It is what a module’s chapters are made of.

Pages are self-contained documents rather than references to other records. Their content carries its own images, resolved against the owning container’s directory and deleted with the page, and its own headings, which headings extracts to build a table of contents. Links to other content are written inline in the HTML.

Like the other content entities a page belongs to exactly one container — a module, campaign or system — and sits somewhere in that container’s library tree via parentId.

  • SeeAlso: Module, Group, Reference, Heading

View JSON Schema

Property Type Required Description
id string Yes The unique identifier for this page. A UUID string automatically generated when the page is created. This serves as the primary key in the Realm database.
name string Yes The display name of the page.
Examples: "Goblin Ambush"
slug string Yes A URL-friendly identifier for the page. Used to link to the page from other content, as /page/goblin-ambush.
Examples: "goblin-ambush"
content string Yes The page body, as HTML. Authored markup stored verbatim and rendered in a web view, styled by the owning module’s stylesheets. Image src attributes are relative to dataURL. SeeAlso: headings, images
parentId string Yes The identifier of the Group containing this page in the library tree. Empty for a page at the top level of its container.
rank integer Yes The manual sort position among its siblings. Lower values sort first.
Property Type Required Description
page Page Yes
module Module No
campaign Campaign No