{
  "$type": "site.standard.document",
  "description": "feat: bridge Obsidian and Astro with symlinks for a unified writing workflow",
  "path": "/posts/managing-astro-blog-with-obsidian-and-symlinks/",
  "publishedAt": "2026-03-06T00:00:00.000Z",
  "site": "https://read.ryancowl.es",
  "tags": [
    "DevEx"
  ],
  "textContent": "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 fits together better than I expected.\n\ntl;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.\n\n  \n\nThe Problem\n\nMy 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.\n\nI wanted to be able to:\nSearch blog posts from Obsidian without opening a second vault or switching to my code editor.\nEdit blog drafts from my phone or other devices via Obsidian Sync, without needing access to the Astro project directly.\nKeep the Astro build working without moving files around or duplicating content.\n\n  \n\nThe Fix: One Symlink\n\nThe 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.\n\nThat'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.\n\nNow I can:\nSearch across everything. Obsidian's search indexes the symlinked blog posts alongside my personal notes.\nEdit 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.\nEdit in Obsidian. I can draft and revise blog posts using Obsidian's editor, preview, and plugins.\n\n  \n\nThe Full Picture\n\nHere's how the pieces connect:\nObsidian is the writing environment. I draft, organize, search, and cross-reference here.\nAstro is the publishing engine. It builds the site from the markdown files in .\nThe symlink bridges the two without duplicating files or breaking either tool's expectations.\n\nThe blog content has one canonical location (the Astro project), one git history, and one deploy pipeline. Obsidian just gets a window into it.\n\n  \n\nSetting This Up Yourself\n\nIf you have a similar split between an Obsidian vault and a static site generator, the setup is straightforward:\nCreate the symlink:\nRemove 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.\nThat'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.\n\nBonus: A Blog Post Template\n\nOnce 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:\n\nDrop 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.\n\n  \n\nThis 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.\n\n  \n\nResources\nObsidian - Symbolic Links and Syncing\nAstro Content Collections\nln (Unix) - Wikipedia)",
  "title": "Managing My Astro Blog with Obsidian and Symlinks"
}