Diamond Markdown

A knowledge base of your own.

Self-hosted markdown notes with [[wikilinks]], backlinks, graph view, and Obsidian-style live preview. Every save is a git commit. Works in any browser. Your files stay flat on disk.

MIT licensed · Web-first · No Electron · No account · No tracking

⧉

Web-first

Works in any browser on any device. No Electron bundle, no platform install. Host on your laptop, a Raspberry Pi, behind Tailscale — same app everywhere.

⎇

Git-native

Every save is a commit. Rename a note, every wikilink updates in one atomic commit. Sync across devices with git push. Your history is real, diffable, and portable.

◆

Flat markdown

Your notes are plain .md files on disk. Uninstall Diamond tomorrow; your vault still opens in every markdown tool. Frontmatter is standard YAML.

What ships today

Everything you'd expect, plus a few things you wouldn't.

[[
Wikilinks

Type [[Note]]. Click through. Missing targets render broken; click to create.

↩
Backlinks

Every note that links here, panel-updated live as you save.

◉
Graph view

Force-directed visualization of your vault's link graph. Drag, pan, zoom.

✎
Live preview

Obsidian-style WYSIWYG inside the editor. Markers hide when the cursor leaves the line.

⌕
Search

Fuzzy quick-switcher (⌘K) and full-text across the vault (⌘⇧F).

#
Tags

Inline #tags or frontmatter tags. Cloud + per-tag note list.

⌘
Command palette

⌘P. Every action is a command, every command is scriptable.

⏱
Version history

Per-note git log, view any historical revision in place.

📅
Daily notes

⌘⇧D opens today's note, creating it from a template if you've got one.

⇪
Static publishing

Mark public: true in frontmatter, publish a deploy-ready static site.

▦
Multi-pane tiling

Alt-click to split, drag tabs across panes, edits broadcast to sibling panes.

∎
Multi-vault

Point Diamond at any number of folders. Each is its own git repo, its own index.

Self-host

Two minutes, one terminal.

$ git clone https://github.com/Zollicoff/diamondmarkdown.git
$ cd diamondmarkdown
$ npm install
$ npm run dev

  ➜  Local:   http://localhost:5173

The sample vault ships in-repo so the app opens with real content. Point it at your own folder via the vault switcher — or run it behind Tailscale, a reverse proxy, or Cloudflare Tunnel to use it from every device you own.

Production builds use @sveltejs/adapter-node. A Tauri desktop wrapper is on the roadmap but not required — the web app is the first-class target.

Who this is for

If you like Obsidian but want to own the stack.

Diamond borrows its mental model from Obsidian — vaults, wikilinks, backlinks, graph, daily notes, live preview. What it doesn't borrow is Electron, a proprietary sync protocol, a paid publish service, or a plugin runtime locked to one app. If Obsidian fits your workflow, keep using Obsidian. If you want the same ideas in a browser tab, backed by git, under an MIT license — that's Diamond.