April 2026
obsidian-notes — Publish from Obsidian
A pipeline that turns selected notes from an Obsidian vault into a website: it transforms wikilinks, renders code and math, and deploys on Netlify.
- React
- Vite
- React Router
- react-markdown
- KaTeX
- highlight.js
- Bash
- Netlify
obsidian-notes publishes the notes I choose from an Obsidian vault as a website — a digital garden. I mark a note with publish: true in its frontmatter and it goes online; everything else stays private.
How it works
sync-notes.shreads the vault (VAULT_PATH), finds.mdfiles withpublish: trueand copies those notes and their images into the project.- At build time, Vite imports every note with
import.meta.glob. NoteRenderertranslates Obsidian wikilinks —[[Note]]into React Router links and![[img.png]]into<img>— before handing the markdown to react-markdown.- Rich rendering: GFM, code via highlight.js and math via KaTeX (rehype/remark).
How it’s built
- React + Vite + React Router (static SPA). Consistent slugs with
github-slugger. - Netlify deploy: the build runs
sync-notes.sh && vite build. If the vault lives in a private repo, it’s cloned at build time with a token — the content is never committed to the public repo. - No server of its own: it’s 100% static.