Đất mẹ, mother soil: the ground where the seeds of what you know take root and grow.
Quick start · Features · Documentation · Live demo
datme turns an Obsidian vault into a digital garden. Every note becomes an index card pinned on a notebook wall, linked to everything around it by backlinks, a living graph and full-text search. Point it at your vault and it reads what you wrote the way Obsidian does: wikilinks, embeds, callouts, Dataview queries, canvases, Excalidraw drawings, Marp decks. You don't have to export anything or change a line.
bunx @dynamotn/datme dev ~/MyVault![]() |
![]() |
| A note in the dark theme, with its local graph | The global graph, filterable and replayable over time |
![]() |
![]() |
| A Marp deck, ready to present | An Excalidraw sketch, drawn from its scene |
The documentation is itself a datme garden; its showcase has a live example of each feature.
🌱 Your vault, as it is. No export step, no second copy of your notes. datme understands Obsidian's syntax and the plugins people actually use, and renders them at build time.
🔒 Private by default. Only notes that say publish: true leave the vault.
Everything else stays home, and so do the parts you lock with a password or
schedule for later.
🧭 Made for wandering. Readers can follow backlinks, open linked notes side by side, hover a link to preview it, replay how the garden grew on the graph, or jump to a random note.
⚡ Fast, static, yours. The output is plain HTML that any host can serve. Builds are incremental (a 300-note vault rebuilds in about 2.5 s), pages work offline, and one command sets up deployment to GitHub, GitLab, Netlify or Cloudflare.
# 1. Write a commented datme.yaml into your vault (optional, every key has a default)
bunx @dynamotn/datme init ~/MyVault
# 2. Mark the notes to share with `publish: true` in their frontmatter, then preview
bunx @dynamotn/datme dev ~/MyVault # http://localhost:4321, reloads as you write
# 3. Publish on every push
bunx @dynamotn/datme deploy github ~/MyVault # or gitlab, netlify, cloudflarePrefer to stay in Obsidian? The companion plugin toggles publishing from the status bar, checks the garden and previews the current note.
npx works just as well with Node 22.18+. Install it globally with
npm i -g @dynamotn/datme and the command is simply datme.
Getting started walks through the rest.
[[wikilinks]] and ![[embeds]] of notes, headings, blocks, images and PDFs ·
callouts that fold · ==highlights== · %%comments%% · tags · LaTeX ·
Mermaid · footnotes as margin sidenotes · BibTeX citations · line breaks kept
for poems · audio and video from a timestamp, with captions and transcripts.
| In your vault | On the site |
|---|---|
Dataview, Tasks and query blocks |
Run at build time, over published notes only |
| Canvas and Bases | Pannable canvas pages; base views as tables, cards and lists |
| Excalidraw | Drawn from the scene itself, hand-drawn lines and all, no export needed |
| Marp Slides | Slide decks with your themes, and a ▶ Present button for full screen |
| Kanban | Boards with their lanes side by side |
| Charts | Chart.js charts in the site's colours, with the data as a table too |
| Spaced Repetition | Flashcards, clozes and a practice mode that remembers progress |
| D2, Typst, ABC and mind maps | Diagrams, formulas, sheet music and mind maps drawn from text |
| Tabs and Multi-Column Markdown | Tabs and columns, with full markdown inside |
Notebook, quiet serif blog or garden look, per folder; the garden shows notes as plants sized by how grown they are · folders of short notes read as a feed · light and dark themes · reading progress and time left · a word on notes that may be out of date · a reader menu for larger text, a legible font or high contrast · links to an exact passage · lightbox for images and drawings · print stylesheet · right-to-left languages.
Search with folder, type and tag filters (Ctrl K) · a global graph coloured by
folder or type, with a time slider (Ctrl G) · guided trails · stacked pages · related notes
and unlinked mentions · a glossary that links the first mention of each term ·
related notes by meaning, computed locally · series · the history of each idea, from git · timeline, map and garden statistics · RSS for every folder and tag.
Whole notes or single passages encrypted with a password (AES-GCM, unlocked in the browser) · drafts and scheduled notes · unlisted notes · only the assets a published note uses get copied.
Multilingual notes in one file, with the interface in seven languages · email
subscriptions per folder or tag · permalinks and redirects for old URLs ·
social cards · JSON-LD · sitemap · llms.txt and llms-full.txt · a markdown
menu that copies a note or hands it to ChatGPT or Claude · webmentions and
comments · an installable offline app · dead links pointed at the Internet
Archive · one-file EPUB or printable export of any folder.
| Getting started | From a vault to a site online, step by step |
| Writing notes | Obsidian syntax, frontmatter, citations, series, languages |
| Plugins | Dataview, Tasks, Canvas, Bases, Excalidraw, Marp, Kanban, Charts, flashcards |
| Privacy | What gets published, drafts, schedules, passwords and locked parts |
| The reader's side | Search, graph, shortcuts, reading preferences, offline |
| Configuration | Every key of datme.yaml |
| Command line | dev, build, check, deploy, export and their flags |
| Deploying | GitHub, GitLab, Netlify, Cloudflare or any static host |
| Coming from another publisher | Obsidian Publish, Digital Garden or Quartz, in one command |
| Extending | Your own CSS, remark/rehype plugins, and hacking on datme |
bun install
bun run dev ~/MyVault # same as `datme dev`
bun run check # type-check
bun run test # unit tests, end-to-end builds and accessibility checksIssues and merge requests are welcome on GitLab. See Extending for a map of the code, and CONTRIBUTING to translate the interface into your language.
MPL 2.0: use, change and ship datme freely; changes to datme's own files are shared back under the same license. Your notes and your own files stay yours, under any license you choose. Releases up to 2.0.1 remain under CC BY-SA 4.0.




