Campaignitz
approvedby Nitzan Bresler
Campaign plot timeline visualization for tabletop RPGs - This plugin has not been manually reviewed by Obsidian staff.
Campaignitz
An Obsidian plugin for visualizing tabletop RPG campaign plotlines. Track canon events across acts and storylines, overlay your session history, and always know where you are in the story.
Features
- Plot grid visualization — SVG timeline with acts as columns and plotlines as rows
- Canon event tracking — parsed from a single markdown file; completed vs. pending events shown as filled/hollow nodes
- Multi-plotline events — events spanning multiple plotlines are visually connected with dashed lines
- Session overlay — session markers positioned within their act column, spaced by progress
- "You Are Here" marker — gold arrow showing your current position based on session dates
- Click to navigate — click any event or session node to open the corresponding note
- Pan and zoom — drag to pan, Ctrl+scroll to zoom
- Embeddable — embed the timeline in any note with a
campaignitzcode block - Configurable — number of acts (1-6), plotline names and colors (1-6), custom file paths
Setup
- Install and enable the plugin
- Configure paths in Settings > Campaignitz:
- Canon Events file — a markdown file listing events by act (default:
Plot/Lines/Canon Events.md) - Sessions folder — folder containing session notes with
played_onfrontmatter (default:Plot/Acts)
- Canon Events file — a markdown file listing events by act (default:
- Open the timeline via the ribbon icon (map) or command palette: "Open Campaign Timeline"
Canon Events Format
Structure your canon events file with act headers and checkbox items. Assign plotlines with wikilinks in parentheses:
## Act 1
- [x] [[The Raid on Northgate]] ([[A]], [[B]])
- [x] [[The Missing Diplomat]] ([[A]])
- [ ] [[Siege of the Capital]] ([[A]])
## Act 2
- [ ] [[Into the Abyss]] ([[A]])
## Act 3
- [ ] [[The Final Reckoning]] ([[A]])
Session Notes Format
Session notes are markdown files with YAML frontmatter:
---
played_on: 2025-05-08
game_date: 0242-10-24T00:00:00
level: 1
characters:
- "[[Aldric]]"
- "[[Mira]]"
---
The plugin detects which act a session belongs to based on its folder (e.g., Plot/Acts/1/ = Act 1). Canon event references are detected by scanning session body text for wikilinks matching known events.
Embedding
Embed the timeline in any note:
```campaignitz
height: 600px
```
Manually installing the plugin
Copy main.js, manifest.json, and styles.css to your vault's .obsidian/plugins/campaignitz/ folder.
For plugin developers
Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.