Managing My Astro Blog with Obsidian and Symlinks
~/.bnux
March 6, 2026
I keep personal notes in Obsidian and publish my blog with Astro. For a while, those two worlds lived in completely separate directories on my machine, which meant context-switching between apps every time I wanted to reference a note while writing a post (or vice versa). I recently connected them with a single symlink, and the result is a writing workflow that feels surprisingly seamless.
tl;dr: I symlinked my Astro blog's content directory into my Obsidian vault so I can draft, search, and cross-reference blog posts alongside my personal notes.
The Problem
My Obsidian vault is where I keep personal notes, project ideas, reading lists, and rough drafts. My Astro blog content lives inside the project repo in . Two separate directories, two separate Obsidian vaults, no easy way to link between them.
I wanted to be able to:
Search blog posts from Obsidian without opening a second vault or switching to my code editor.
Edit blog drafts from my phone or other devices via Obsidian Sync, without needing access to the Astro project directly.
Keep the Astro build working without moving files around or duplicating content.
The Fix: One Symlink
The solution turned out to be simple. Symlinks (symbolic links) are like shortcuts that point one location on your filesystem to another. Obsidian follows them, so a symlinked folder appears and behaves like any other folder in your vault.
That's it. My Obsidian vault now has a folder that points directly to the Astro content directory. The actual markdown files stay in the Astro project (so builds, git history, and deploys all work as before), but Obsidian treats them as first-class citizens in my vault.
Now I can:
Search across everything. Obsidian's search indexes the symlinked blog posts alongside my personal notes.
Edit from anywhere. With Obsidian Sync, blog drafts sync to my phone and other devices. I can revise a post on the go and the changes are waiting in the Astro project when I get back.
Edit in Obsidian. I can draft and revise blog posts using Obsidian's editor, preview, and plugins.
The Full Picture
Here's how the pieces connect:
Obsidian is the writing environment. I draft, organize, search, and cross-reference here.
Astro is the publishing engine. It builds the site from the markdown files in .
The symlink bridges the two without duplicating files or breaking either tool's expectations.
The blog content has one canonical location (the Astro project), one git history, and one deploy pipeline. Obsidian just gets a window into it.
Setting This Up Yourself
If you have a similar split between an Obsidian vault and a static site generator, the setup is straightforward:
Create the symlink:
Remove any duplicate vault config. If the blog directory was previously its own Obsidian vault, you can delete its folder since you won't need it anymore.
That's it. Open your Obsidian vault and the symlinked folder should appear. Your blog posts should appear alongside the rest of your notes right away.
Bonus: A Blog Post Template
Once the symlink is in place, you can take it a step further with an Obsidian template for new blog posts. I created a simple one that scaffolds the frontmatter my Astro content collection expects:
Drop that in your vault's folder (and make sure the Templates core plugin is enabled and pointed at that folder in Settings > Templates). Now when I want to start a new post, I create a file in , trigger the template, and the frontmatter is ready to go. No more forgetting a required field or looking up the schema.
This works with any static site generator that uses markdown files (Hugo, Eleventy, Jekyll, etc.), not just Astro. The key requirement is that your SSG reads from a content directory that you can symlink into.
Resources
Obsidian - Symbolic Links and Syncing
Astro Content Collections
ln (Unix) - Wikipedia)
Discussion in the ATmosphere