Blogging From Anywhere
I spend a lot more time trying to eliminate barriers to writing than actually writing, but I’ve come up with a pretty good setup using off the shelf tools (which lowers the maintenance burden).
My site is hosted on AWS Amplify, though Netlify or even GitHub Pages (with a bit more configuration) could work just as well.
My site is built using Hugo, and the Hugo builds are run by Amplify when I commit to a particular branch. I also have a Lambda job that triggers a build on a CloudWatch schedule nightly, so that I can push future dated posts to production, and they will become available the morning of. That’s mainly used for my Le Word puzzles, which I tend to queue up a week at a time.
I write on my laptop, iPad or phone, using Obsidian to store and sync my work via iCloud. Previously I used iA Writer for the same purpose, but I’ve been liking Obsidian better lately. I add front matter to posts in Obsidian manually, though I should make a template for it.
Usually I publish from my laptop, but I don’t want to be handcuffed to that workflow. On my iPad or iPhone I use Working Copy, a mobile Git client. It’s as simple as sharing a finished post from Obsidian to Working Copy, and choosing where to save the file.
Finally, Amplify is configured to build the main branch of my repo to a preview site that is behind basic authentication. That build includes drafts and future-dated content, so that I can preview anything that is in-progress. When I’m ready to publish something I disable draft mode in the front matter, and merge to a production branch. I could get away with a single branch and using draft mode and future dating, and I might do that some day, but for now I like the peace of mind of the manual merge requirement.
I can do everything I need, short of modifying the site templates, from any of my devices. It has been a really useful setup so far, and I truly can’t blame my low output on process friction.