Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

200 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Lonelog for Obsidian - Solo TTRPG Journaling

Obsidian version license GitHub Downloads Ko-fi

Lee esto en Castellano: README-es.md

Lonelog Obsidian Plug-in Logo

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.

Main Features

1. Smart Notation System

Quickly insert Lonelog core symbols using the Command Palette or custom hotkeys:

  • @ Action
  • ? Oracle Question
  • d: Dice Roll
  • -> Result
  • => Consequence
  • [Tag:Name|Attributes] Entity tags for NPCs, locations, PCs, and more

2. Campaign and Session Management

  • Automatic headers to create campaign and session structure instantly
  • Scene markers with automatic scene numbering and optional context prompts
  • Code blocks with lonelog rendering support
@ The character investigates
d: 1d6 -> 5
-> Something suspicious happens.

3. Interface and Highlighting

  • Syntax highlighting in Live Preview and Reading Mode
  • Color customization for every Lonelog token
  • Dedicated views for progress, threads, scenes, combat, dungeon, and resources

4. Add-ons

  • Combat: rounds, combat blocks, foe tracking
  • Dungeon crawling: room state tracking and dungeon status
  • Resource tracking: inventory and wealth management
  • Partylog: group-session notation using ```partylog blocks and a dedicated Partylog dashboard
  • Card drawing and advanced dice notation

5. Other Features

  • Autocomplete based on previously mentioned entities
  • Internationalization in English and Spanish
  • Public API v1 with JSON-friendly normalized outputs for external plugin integrations

Installation

BRAT

  1. Install the BRAT plugin.
  2. In BRAT settings, click Add Beta Plugin.
  3. Enter https://github.com/Snifer/lonelog.
  4. Enable Lonelog in Settings -> Community Plugins.

Manual Installation

  1. Clone or copy the release files into .obsidian/plugins/lonelog/.
  2. Reload Obsidian.
  3. Enable Lonelog in Settings -> Community Plugins.

Community Plugins

Usage

  1. Open any note.
  2. Press Ctrl/Cmd + P to open the command palette.
  3. Type Lonelog to see insertion and management commands.
  4. Assign hotkeys in Settings -> Hotkeys for faster logging.

Partylog add-on

Lonelog now includes an optional Partylog add-on for group-session notes.

Quick path:

  1. Enable Partylog add-on in plugin settings.
  2. Write Partylog notation inside fenced partylog code blocks.
  3. Open Partylog Dashboard from the view selector or command palette.

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:

  • Overview
  • Scenes
  • Threads
  • Timeline
  • Roster
  • Recap

Development

npm install
npm run dev
npm run build

Public API

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.content
  • adapters.file
  • adapters.activeFile
  • capabilities.get
  • addons.getStatus
  • dungeon.*
  • resources.*
  • combat.*
  • progress.*
  • partylog.*
  • info.get
  • info.getModules
  • info.getStabilityPolicy
  • errors.codes
  • errors.isLonelogApiError
  • events.on/off/offref
  • domain events for progress/resources mutations
  • write helpers for dungeon/partylog
  • deeper inventory + structured partylog tag mutations
  • combat write api + partial dungeon mutations
  • fine-grained helper lookups
  • json-friendly normalized outputs
  • parse.content
  • parse.file
  • parse.isLonelogNote
  • parse.partylog.content
  • parse.partylog.file
  • parse.partylog.hasBlocks
  • tokenize.line
  • tokenize.lines
  • settings.get
  • views.open...

Full guide (English): lonelog-api.md

Full guide (Spanish): lonelog-api-es.md

API changelog: lonelog-api-changelog.md

License

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.

Support

If this project adds value to your gaming table, you can support the developer with a donation via PayPal or Ko-fi.

Donate Ko-fi

Credits

About

Streamline your solo and group TTRPG journaling with quick shortcuts for [Lonelog notation](https://zeruhur.itch.io/lonelog) - the standard notation system for solo RPG session logging.

Resources

Stars

Watchers

Forks

Releases

Contributors

Languages