Obsidian Plugin — obsidian-demarkus
Section home for the Obsidian community plugin that connects Obsidian vaults to demarkus servers.
Repo: latebit-io/obsidian-demarkus on GitHub
Install: via BRAT — latebit-io/obsidian-demarkus
Current release: v0.1.0
What it does
Fetch, edit, and publish markdown documents to demarkus servers directly from an Obsidian vault. Shells out to the demarkus CLI binary.
Pages
- Plan — architecture, scope, implementation steps, future ideas
Installation (BRAT)
The plugin is distributed as a community beta plugin via BRAT (Beta Reviewer's Auto-update Tool).
Prerequisites
- Obsidian v1.3+
- BRAT plugin installed in Obsidian
- A
demarkusCLI binary in your PATH
Steps
- Open Obsidian settings → Community plugins → Turn on "Safe Mode" if it's on, then turn it off
- Browse community plugins, search "BRAT" and install it
- Open BRAT settings → Add Beta Plugin
- Paste:
latebit-io/obsidian-demarkus - Close BRAT settings
- Find "Obsidian Demarkus" in Community plugins and enable it
- Configure in settings: enter your demarkus server address and auth token
Configuration
In plugin settings:
- Server URL: Mark protocol server (e.g.,
mark://localhost:6309) - Auth Token: Your capability token (passed to the CLI via
DEMARKUS_AUTHenv var) - Fetch Behavior: By default uses cached server state; toggle "Fresh fetch" to bypass cache
Development
Source & Release
- Source of truth:
plugins/obsidian/in the demarkus monorepo (this repo) - Standalone repo:
latebit-io/obsidian-demarkus(what users install from) - Release flow: Build in monorepo → copy
manifest.json+main.jsto standalone repo → create GitHub release
Build
cd plugins/obsidian
npm run build
Outputs manifest.json and main.js in the root directory.
Key Files
src/main.ts— plugin lifecycle and command registrationsrc/cli.ts— invokesdemarkusCLI binary, passes auth viaDEMARKUS_AUTHsrc/frontmatter.ts— YAML frontmatter parsing and generationsrc/settings.ts— configuration UI and data persistence
Architecture
The plugin shells out to the demarkus CLI binary rather than linking the library directly. Auth is passed via environment variable (DEMARKUS_AUTH) — never on CLI args to avoid exposure in process listings.
GitHub Repository
latebit-io/obsidian-demarkus — the standalone plugin repository for distribution and issue tracking.