It feels like a long time since I posted my first entry to my first WordPress via Mars Edit. That was early in 2008 and I still remember the sinking yet thrilling feeling I had when Shawn Blanc first linked to one of my articles. Blogging tools have come a long way since then.

Back then, I used MarsEdit and only MarsEdit to publish to my WP run blog, The Weekly Review. Now days, I use a set of web based and desktop tools to share my thoughts on my Kirby run blog.

I realize many folks consider talking about your blogging toolset is akin to talking about your relationship issues in public. Loudly. But I appreciate hearing how the writers I respect get content on their site and hopefully someone can benefit from hearing about my own. Rian shared his own use of Pinboard lately, so he’s truly to fault for this post.

Here’s how I do it in 2015.

On the Mac

As mentioned above, I use a collection of tools to get content published to my flat file Kirby install on my Media Temple server. The full list:

The full process is for writing link posts. I start by finding something I want to share and add commentary. I save the article to Pinboard and add a tag titled “link”. Like Rian, this is picked up by IFTTT and the linked article is saved to a text file in Dropbox. IFTTT uses my link article template to populate the text file.

IFTTT Template

So far, pretty simple. The real action happens on OS X after that. I have Hazel watching the writing folder in Dropbox for various activies. I use 4 rules to prep my articles for writing, to remind me to write, to actually publish to my site, and to keep my Dropbox folder in sync with my journal folder on my server.

Hazel rules

This may sound complex, but each rule is fairly simple.

Prepping

The first thing to do is get the new text file created by the IFTTT recipe to match the structure of my Kirby install. Because Kirby is a flat file CMS, each post lives in a folder with a certain name and number. As well, each text file within the folder has a general file name of article.txt or article.link.txt (depending on the article type).

I wanted Hazel to do most of the manual work for me.

1st rule in Hazel

What does this do?

  • it watches for the matching file
  • creates a folder with the same name as the text file
  • takes the file and moves it into the folder
  • renames the text file to article.link.txt
  • sets a yellow label on the file itself

That’s it. If you step back and ignore all those details, the process is simply this: I find an article of interest, add it to Pinboard, and the minutes later the file and folder are sitting on my Mac and are ready for me to add commentary.

Reminding Myself

Sometimes I get busy or am away and have little time for writing. The 2nd rule is in place to simply remind when I have some older link article files ready for publishing.

2nd rule in Hazel

After a week, I’ll get the Hazel notification that some items should get attention.

Publishing

The most important step here is publishing. Before this setup, I would simply connect to my site in Coda and add the new file directly. Now, when the article is filled in, edited, and ready to go, I just make a few changes in OS X.

3rd rule in Hazel

I simply add a green label to the article folder. That’s it. Hazel then uses the Upload command to connect to my server and add the folder and file. The article is then fully published.

What is not shown in this rule is my change to the folder title. Usually, the title that IFTTT pulls from the original source is long and cumbersome. So I change the folder name before publishing, giving it a shorter, more sensical name along with the proper number to be the newest article on my site.

N’Sync

The last step is simply to mirror the content of my server on my desktop. Why? Simply because I can then make sure my folder names (and the number that is included) for new articles are ordered correctly.

Kirby structure

Because Kirby is flat filed, the order of posts on your blog is dictated by the number in the folder name. And so the 4th rule in Hazel makes sure I never forget the most current number on the server. It’s a rule that is run once daily to sync from server to desktop.

4th rule in Hazel

As you can see, the rule does little. The details are in Automator. It simply runs Transmit and uses the Sync option available in that app. I filled in the server details, path included, and when the rule runs, Transmit launches and syncs away.

Sync options

It would be nice if this part of the process happened in the background, rather than have Transmit pop up and interrupt whatever I’m doing (I’m open to suggestions!).

---

My process is slightly different for writing full articles. They start in Ulysses and are simply put into the correct folder with the green label. The Publish rule takes care of the rest. So my Mac workflow is automated and about as easy and frictionless as it can be. Which is great as most of my writing takes place on the desktop.

iOS

But what about iOS? I do write on my iPad frequently. And if inspiration strikes, I will simply fire up Ulysses and write away. Dropbox is available, so the full folder structure that is synced thanks to Hazel is available to me.

The only downfall is that I can't set the OS X color label on a file or folder on iOS (that I’m aware of). This means I either finish up on my Mac at some point, or use Transmit or Diet Coda on my iPad to publish an article manually.

I’m guessing that more automation would be possible. If I could just sit down long enough to finish one of Federico’s articles, I could probably get inspired on how to improve this. However, the last 12–18 months have proven that I spend far more of my writing time on OS X than iOS (perhaps because iOS 8 runs like crud on my iPad 3) so this set up fits my current habits well.

---

Whether on OS X or iOS, the 3rd party tools like Hazel and IFTTT are incredibly enabling. And the result is that self publishing involves little friction, helping me spend the majority of my publishing time actually writing.

That’s a good thing.