Features

Secrets

Specify read rights for a segment, and every object inside it follows.

Visibility is a line of Markdown, so one article holds what the table reads and what you privately read. Everyone learns the mill has run since the Siege Years. Three people learn who sleeps in its cellar.

  • Visibility on articles, paragraphs, notes and images: public, groups, or only you
  • Links, pins, images, labels, dates and tree placement inside a secret inherit its audience
  • Address any group in the campaign, whether you belong to it or not
  • Hidden content closes up without a trace
  • Reply counts, revision logs and calendar axes never count what you cannot open
  • Reader portraits under every secret
  • Presentation mode for a shared screen
  • Optional reveal of your secrets when the campaign concludes

Collaboration

Players build their own corner of the world with full autonomy.

Players write their own articles with no grownups able to inspect, edit or delete them. Ostren's account of the siege and Mira's both stand, each under its author's name and colour.

  • Players write articles, notes and images under the same rules as the game master
  • Private paragraphs are private from the game masters too
  • Author tabs filter the list to one writer or to the game masters
  • A stable colour per author on links, pins, graph nodes and timeline bars
  • Markdown notes on every article, with their own visibility and secrets
  • Player-owned groups: whoever makes one runs it
  • Withdraw your own work without deleting it
  • A departing member's work leaves with them until they return

History

Every published change is kept, and the log keeps your secrets.

A wiki should reflect the journey through the sessions. The question a month later is what changed in an article since when the party read it.

  • Automatic revision history on every article
  • Side-by-side comparison of any two revisions, highlighted word by word
  • Structured comparison of the rendered page, where an added fact box shows as one change
  • A diff is filtered to the reader's visibility
  • Delete a revisions to splice its neighbors as if the revision never was there
  • Delete the published revision to roll the article back

Files

Edit the campaign in your own editor, and sync the folder back.

The test of whether your writing is yours is whether you can leave with it. A campaign exports as the Markdown and images it already was, and a folder of those files goes straight back from the browser.

  • Offline editing in any Markdown editor, with your own tools and version control
  • Folder sync straight from the browser, no zip required
  • Every directive travels in the file, which makes a round trip lossless
  • Exports include your secrets and drafts
  • Uploads land as drafts for review before anything is published
  • Conflict detection when the site has newer published work than your copy
  • Another author's package is validated whole before anything is written

Writing

Plain Markdown, with unobtrusive custom elements for enhanced expressiveness.

Articles are Markdown files. Everything a wiki needs on top of prose lives in HTML comments, which every editor leaves alone and every renderer ignores. A type, three aliases and a place in a hierarchy sit in four lines above the first heading.

  • Fact boxes, columns, pull quotes, timelines and image blocks
  • Free-form article types and labels drive filters, icons and grouping
  • Aliases for linking, stable keys for renaming
  • Private drafts, saved as often as you like before one publish
  • Your drafts show in your own lists, links and search while staying invisible to everyone else
  • Ambiguous or unknown controls fail the save by name
  • The preview runs the save's checks and lists every problem at once

Linking

The wiki cross-links itself, without a link ever giving itself away if it points to a secret.

Names and aliases become links on save, so there are no brackets to type and none to repair after a rename. The harder half is deciding whether the reader should have been told the article exists.

  • Visibility-aware links: a link exists only where the reader can open both ends
  • A mention inside a secret links for the secret's readers alone
  • Publishing rescans the campaign, linking renames and new articles retroactively
  • Longest match wins; a comma-separated title matches on each of its parts
  • Disambiguation pages for ties
  • Backlinks on every article's Related tab
  • Links tinted with the target author's colour

Chronology

Your world keeps its own time, and your writing is dated in it.

Give the world a formal calendar and give your writing a dimension of time. A mention, a paragraph or an article's whole span each carry a date, under the visibility of the passage they sit in, and the chronology, the map and Tracks are drawn from them.

  • Custom calendars: months, weekdays, eras and your own date format
  • One time control for a dated mention, a dated passage or an article's span
  • Events are written in the text, under the visibility of their passage
  • An ending inside a secret stays hidden, leaving the span to read as ongoing
  • A Timeline banded by era and year, plus Tracks: one row per dated article
  • A Current Date for where the story stands

Images

The map is written in the prose, so it stays a view of the wiki.

A marker is a line inside the paragraph that describes the place. The mill has a pin everyone sees, and the cellar under it has a pin three people see.

  • Auto-created gallery with the usual filters
  • Markers and regions written in Markdown
  • Pins and regions auto-link, inheriting the passage's visibility and dates
  • Nested maps: a parent map shows every descendant's pins
  • Marker trails for one article's dated pins
  • Click or draw on the map to get the directive on your clipboard
  • Every image lists the articles that show it
  • An image is visible to whoever can read a place it is shown

Discovery

Everyone gets their own answer to what happened since last time.

Players stop reading a campaign wiki when they cannot tell what is new in it. Unread marks are per member, from the day they started following.

  • Per-member unread marks, filterable and counted
  • A day-by-day activity feed of articles, revisions and notes
  • One personal feed across every campaign you are in or follow
  • Feeds and unread marks never mention an article you cannot open
  • Full-text search over titles, content, types and labels, with matches highlighted
  • Search that hits inside a secret you cannot read surface nothing
  • Relevance sorting, with each article's rank shown as a ring on its portrait

Worlds

Sequels and side tables share one body of lore.

A setting outlives a campaign. Group campaigns into a world and they share a gazetteer, while each keeps its own members and its own secrets.

  • Any number of campaigns in a world
  • The same views over the whole world, with combined trees
  • Auto-linking and the graph span the world
  • Each campaign keeps its own members, roles and secrets
  • Campaign badges on every article card
  • World-wide gallery and feed
Beta

Customization

Give a campaign its own look, with the ability to override as a reader.

A frozen war and a road story should not read in the same colours. Six themes ship, a campaign can set its own values, while a reader can overrule both if they want it less flashy. Or more.

  • Six ready-made themes
  • A personal theme per member, over the campaign's
  • Campaign CSS variables, with separate light and dark values
  • Type icons, shown in lists and as the default map pin
  • Custom icon uploads at campaign or world scope

GMTales is the wiki, not the table. Dice, sheets and battle maps stay with your VTT.