Yes, I updated my publishing workflow again
I’ve been tinkering with my website for the past two years, and every time I think I’ve found “the way,” I discover another tweak that makes life easier. This summer’s rabbit hole: simplifying how I post, draft, and publish.
Why leafed folders stopped working #
For a while my Hugo site lived in a tidy hierarchy of folders: /content/posts/slug/index.md
with assets dropped into the same folder. On paper it was neat, but in practice it had two big problems:
- Every single file was called
index.md
, so in Obsidian all my posts had the exact same filename. That made it impossible to scan or search without opening them. - You can’t sort folders by most recent in Obsidian, which meant my writing workflow always felt a step out of sync. Drafts got buried.
So instead of Hugo’s leaf bundles, I flattened everything into single files: /content/posts/title-of-article.md
. Images live under /static/images/
. Much simpler.
Enter Obsidian #
I’ve been using Obsidian for notes, but turning it into my writing environment has made blogging much easier. It doesn’t rely on iCloud Drive (that would be madness)—I keep my vault synced locally across devices with Obsidian Sync, so the Mac mini running at home always has the latest copy of my vault.
Even better, Obsidian’s Bases plugin turns any folder into a database. The official docs describe bases as a way to “turn any set of notes into a powerful database”. I now have three bases: Drafts, Published, and All posts. Each one shows me my posts by date, status, or tags, so I can see the state of my writing at a glance.
Templates, themes, and focus #
Back when I used iA Writer, a big part of the draw was simply how it looked. That minimal, distraction‑free vibe was addictive. With Obsidian, I installed the iA Writer theme along with the Focus Mode plugin to get that same sweet centered writing experience. For front matter, I’m not even using anything fancy like Templater—I just lean on the simple built‑in template plugin to drop in the basics: date, title, and slug. It’s enough to keep things structured without overthinking it.
Automatic image links (yes please) #
Dragging and dropping an image into Obsidian not only copies it to my vault but also inserts the Markdown link with the correct relative path. Combined with a small Python script that adds featureImage
to my front matter, I never have to worry about missing cover images again.
Git + Mac mini + iOS Shortcut = push without thinking #
Git is still the backbone of my site, but now it just runs in the background. All my drafts and posts live in Obsidian. When I’m ready to publish, my Mac mini home server (see my home server refresh post) picks up the synced changes. I even built an iOS Shortcut that fires off the SSH command to the mini—so from my phone I can tap once and the server runs git add . && git commit -m "new post" && git push
. Because the mini is always running, I don’t need to keep my laptop open just to finish a deploy.
Closing thoughts #
This isn’t the first time I’ve rewritten my workflow, and it probably won’t be the last. But moving away from leafed bundles to an Obsidian-first setup has cut out a ton of friction. I still love iA Writer’s minimalism, but Obsidian’s built‑in templating, the iA Writer theme, Focus Mode, automatic image handling, and bases have turned my vault into a real publishing environment. More importantly, I’m spending less time fighting Git and more time writing—which is exactly the point.