Snifer1k downloadsStreamline solo and group TTRPG journaling with Lonelog notation shortcuts and templates.
Lee esto en Castellano: README-es.md

Lonelog for Obsidian streamlines your solo and group TTRPG journaling by bringing the Lonelog notation standard into your vault and extending it with the Partylog add-on for group-session notes. Focus on the story while keeping mechanics organized, visual, and fast.
Quickly insert Lonelog core symbols using the Command Palette or custom hotkeys:
@ Action? Oracle Questiond: Dice Roll-> Result=> Consequence[Tag:Name|Attributes] Entity tags for NPCs, locations, PCs, and morelonelog rendering support@ The character investigates
d: 1d6 -> 5
-> Something suspicious happens.
```partylog blocks and a dedicated Partylog dashboardAdd Beta Plugin.https://github.com/Snifer/lonelog.Settings -> Community Plugins..obsidian/plugins/lonelog/.Settings -> Community Plugins.Ctrl/Cmd + P to open the command palette.Lonelog to see insertion and management commands.Settings -> Hotkeys for faster logging.Lonelog now includes an optional Partylog add-on for group-session notes.
Quick path:
partylog code blocks.Example:
```partylog
@(Kael) Sneak past the guard
d(Kael): Stealth d20+5=8 vs DC 14 -> Fail
=> Kicks a bottle. Guard turns!
! Guard draws his blade and advances
```
Current Partylog dashboard tabs:
npm install
npm run dev
npm run build
Lonelog exposes a public API v1 for interoperability with other Obsidian plugins through the plugin instance.
Example:
type LonelogApi = {
apiVersion: "1";
parse: {
content(content: string): unknown;
file(file: TFile): Promise<unknown>;
isLonelogNote(target: TFile | string): Promise<boolean>;
};
tokenize: {
line(line: string): unknown[];
lines(lines: string[]): unknown[][];
};
settings: {
get(): Record<string, unknown>;
};
views: {
openDashboard(): Promise<void>;
};
};
const lonelogPlugin = app.plugins.plugins["lonelog"] as { api?: LonelogApi } | undefined;
const api = lonelogPlugin?.api;
if (!api || api.apiVersion !== "1") return;
const parsed = api.parse.content("[N:Jonah|friendly]");
const tokens = api.tokenize.line("=> [N:Jonah|friendly]");
await api.views.openDashboard();
Current V1 scope:
adapters.contentadapters.fileadapters.activeFilecapabilities.getaddons.getStatusdungeon.*resources.*combat.*progress.*partylog.*info.getinfo.getModulesinfo.getStabilityPolicyerrors.codeserrors.isLonelogApiErrorevents.on/off/offrefparse.contentparse.fileparse.isLonelogNoteparse.partylog.contentparse.partylog.fileparse.partylog.hasBlockstokenize.linetokenize.linessettings.getviews.open...Full guide (English): lonelog-api.md
Full guide (Spanish): lonelog-api-es.md
API changelog: lonelog-api-changelog.md
This plugin is licensed under the 0-BSD License. See LICENSE for details.
The Lonelog notation system is © 2025-2026 Roberto Bisceglie, licensed under CC BY-SA 4.0.
If this project adds value to your gaming table, you can support the developer with a donation via PayPal or Ko-fi.