Hedgesync
pendingby tionis.dev
Sync notes with HedgeDoc documents using frontmatter links and hedgesync.
hedgesync
Sync Obsidian Markdown notes with HedgeDoc documents using hedgesync.
This plugin uses a frontmatter property to map each Obsidian note to one HedgeDoc document.
Features
- Push the active Obsidian note to HedgeDoc.
- Pull the active HedgeDoc document into Obsidian.
- Open the linked HedgeDoc document from Obsidian.
- Optional auto-push when a linked note is modified.
- True live sync toggle for the active note (persistent HedgeDoc session with local/remote OT updates).
- Optional confirmation prompt before manual pull/push overwrites differing content.
- Vault-wide pull command for all linked notes using HedgeDoc
/download, while preserving local frontmatter. - Create a hedgedoc document from an Obsidian note and link it in frontmatter.
- Create an Obsidian note from a hedgedoc document URL or note ID.
- Context menu actions in file/editor menus for linked notes.
Requirements
- Obsidian desktop.
- Obsidian mobile is intentionally unsupported in this workaround.
- Node.js 18+ for development.
- A reachable HedgeDoc 1.x server.
Policy disclosures
- External service: this plugin syncs with user-configured HedgeDoc servers.
- Data sent over the network: linked note body content, linked note IDs/URLs, and optional session cookie.
- Network behavior: requests are only made for sync features (manual commands, live sync, or optional auto push).
- Local storage: plugin settings are stored in
.obsidian/plugins/hedgesync/data.json. - Telemetry: none.
- Ads, affiliate links, paid unlocks, and remote code execution: none.
Frontmatter mapping
Default frontmatter key: hedgedoc (configurable in plugin settings).
Option 1: Full URL
---
hedgedoc: https://md.example.com/my-note-id
---
Option 2: Note ID with default server URL in settings
---
hedgedoc: my-note-id
---
Option 3: Object form
---
hedgedoc:
noteId: my-note-id
serverUrl: https://md.example.com
---
You can also use url in object form:
---
hedgedoc:
url: https://md.example.com/my-note-id
---
Commands
Sync active note to hedgedocSync active note from hedgedocOpen linked hedgedoc documentToggle live sync for active notePull all linked notes from hedgedocCreate hedgedoc document from active noteCreate note from hedgedoc document
Use Obsidian hotkeys to assign keyboard shortcuts to these commands in Settings → Hotkeys.
Settings
Default hedgedoc server URLSession cookie(optional, for private notes)Frontmatter link propertyAuto push on saveAuto push debounce (ms)Request timeout (ms)Warn before overwriteLive sync push debounce (ms)
Development
Install dependencies:
npm install
Build once:
npm run build
Watch mode:
npm run dev
Lint with the Obsidian plugin rules:
npm run lint
Manual test install path:
<Vault>/.obsidian/plugins/hedgesync/
Copy main.js, manifest.json, and styles.css into that 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.