ink workflow

Using Obsidian as a CMS Editor (Without a CMS)

Ink's content directory doubles as an Obsidian vault. Here's the workflow for writing, organizing, and publishing content with zero sync steps.


The editor problem

Every CMS needs a way to write content. WordPress has its block editor. Ghost has a clean Markdown editor. Notion has its own format. They all work, but they all lock you into a browser tab and a proprietary environment.

When I was designing Ink, I wanted the editing experience to be "whatever you already use." If you like VS Code, use VS Code. If you like Vim, use Vim. But the most interesting option turned out to be Obsidian.

Why Obsidian

Obsidian is a Markdown editor that operates on local files. No cloud sync required (though it's available). No proprietary format. You point it at a folder and it gives you:

  • A clean visual editor for Markdown
  • YAML frontmatter support with a properties panel
  • Backlinks and graph view for content relationships
  • Full-text search across all files
  • Templates for consistent frontmatter
  • Split panes, tabs, and a command palette
  • Plugins for almost anything (tables, kanban, calendars)

The key thing is that Obsidian works on plain .md files in a folder. It doesn't transform them. It doesn't wrap them in a database. Your files are the same before and after Obsidian touches them.

The overlap

Ink organizes content as Markdown files with YAML frontmatter in a content/ directory:

content/
├── blog/
│   ├── my-first-post.md
│   └── building-with-ink.md
├── docs/
│   ├── getting-started.md
│   └── deployment.md
└── pages/
    ├── home.md
    ├── about.md
    └── contact.md

This is already an Obsidian vault. Open content/ in Obsidian and everything works immediately — your blog posts show up in the file explorer, frontmatter appears as editable properties, and Markdown renders as you type.

Ink's starter template ships with an .obsidian-templates/ directory inside content/ containing templates for each content type. When you create a new blog post in Obsidian using the template, you get the full frontmatter schema:

---
title: ""
slug: ""
excerpt: ""
date: 2026-02-24
author: ""
featured_image: ""
post_tags: ""
published: false
---

Fill in the fields, write your content, save. The file is ready for Ink to build.

The workflow

Here's what day-to-day content management looks like with Obsidian + Ink:

Writing a new post:

  1. Open your project's content/ folder in Obsidian
  2. Create a new file in content/blog/ using the blog template
  3. Fill in the frontmatter, write your content
  4. Save

Previewing:

  • Run ink serve in a terminal — Eleventy watches for file changes and rebuilds automatically
  • Or use the Ink desktop app's split-pane preview

Publishing:

ink build
git add content/ && git commit -m "New post" && git push

If you're on Cloudflare Pages or Netlify, the push triggers an automatic deploy. Your post is live in under a minute.

Editing existing content: Open the file in Obsidian, edit, save. If ink serve is running, you'll see the changes immediately.

There's no import/export step. No sync. No "download from CMS, edit locally, upload back." The files on disk are the files that get built.

What Obsidian adds

Beyond basic editing, Obsidian gives you some things that traditional CMS editors don't:

Cross-content linking. If your services page references a blog post, you can use Obsidian's [[wikilink]] syntax to create a navigable connection. (Ink doesn't render wikilinks in the build — you'd use standard Markdown links for the published site — but in Obsidian, they help you navigate your content graph.)

Full-text search across everything. Need to find every mention of a specific product name across blog posts, docs, and service pages? Obsidian's search handles it instantly. No CMS search plugin needed.

Daily notes as drafts. Obsidian's daily note feature is a natural scratchpad. Write rough ideas there, then move them to content/blog/ when they're ready.

Graph view for content planning. Obsidian's graph view shows how your content files relate to each other. For a documentation site with lots of cross-references, this is genuinely useful for spotting gaps.

Limitations

The Obsidian workflow works best for solo content creators or small teams where everyone is comfortable with file-based tools. If your workflow requires:

  • Editorial approval steps with role-based access
  • Scheduled publishing with a visual calendar
  • Non-technical users who need a web-based admin panel

Then Obsidian + Ink isn't the right fit. Use a traditional CMS.

But if you're a developer, freelancer, or technical writer who already lives in a text editor — and especially if you already use Obsidian — this workflow removes an entire layer of complexity. Your content management system is your file system.