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
| 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. |
HtmlData
Section titled “HtmlData”| Property | Type | Required | Description |
|---|---|---|---|
page |
Page | Yes | |
module |
Module | No | |
campaign |
Campaign | No |

