Static site built with Eleventy. Content is markdown synced from an Obsidian vault; 11ty builds it to static HTML with Obsidian-style [[wiki links]] supported via markdown-it-obsidian.
- Content lives in Obsidian – You write/organize in your vault (e.g. a “publish” folder).
- Sync into the repo –
bun run syncrsyncs that folder intosrc/content/(does not touch layouts or CSS). - Build/serve – 11ty turns everything in
src/(includingsrc/content/*.md) into static files in_site/.
So: vault → rsync → src/content/ → 11ty → _site/. The repo holds the site engine and layouts; synced markdown (and optionally images) are in src/content/ and are gitignored so the vault stays the source of truth.
bun installServe with live reload:
bun run devOutput goes to _site/:
bun run buildRsync your publish folder (e.g. from Obsidian) into src/content/. Edit the sync script in package.json if your path differs.
bun run syncDefault: ~/Documents/personal/publish/ → ./src/content/. All markdown under src/content/ uses the base.njk layout automatically (see src/content/content.json).
src/– 11ty inputsrc/_includes/– Nunjucks layouts (e.g.base.njk)src/css/– styles (copied as-is)src/content/– synced from vault (markdown + assets); contents gitignored exceptcontent.jsonsrc/index.md– static home page (in repo)_site/– generated output (gitignored)