21
Sep 10

Use Notational Velocity, MacVim, WriteRoom, and Vimpress for the ultimate WordPress Blogging Workflow

My most recent post about Switching To Markdown got me started on a quest to find better tooling for writing, editing, and posting to fzysqr.com. As a .NET developer by trade, I have grown accustomed to one of the best development environments ever created (Visual Studio). After switching my home computing environment to OSX a few years ago, I haven’t been able to settle into a comfortable set of tooling for coding and blogging on my Mac. This causes me to go off on wild tangents every time I sit down at my Macbook Pro to try to be productive:

Me: I'll work on a new post for my blog.

(starts tapping away at the keyboard for a few minutes.)

Me: Ugh, it is such a pain to post and format code on WordPress. I'll just
    see if there is a better way.

(4 hours later)

Me: I've got it! Using these 10 new plugins and some custom python scripts 
    I found online, I now have the ultimate setup!

(Next day)

Me: Ugh, these custom scripts suck. There has to be a better way...

(repeat forever)

I am somewhere around iteration 50 in this hellish loop and I think I may have found a workflow worth keeping.

The New Shiny

  1. Ideas are stored in Notational Velocity
  2. Notes are transformed to posts in WriteRoom
  3. Posts are edited and published using MacVim and Vimpress

Notational Velocity

Notational Velocity may be one of the greatest pieces of software I have ever used. It enables you to dump ideas out of your head into a computer with the least amount of friction possible. Notes can be stored as plain text (read: non-proprietary) and can be synced to the web or various devices using SimpleText.ws or DropBox (or both). I have NV set to start on login and I keep running in the background at all times, accessible through a keyboard shortcut. The seeds of new posts are planted here.

WriteRoom

I admit I was skeptical about the idea of WriteRoom, but consider me a convert. I certainly do miss my VI keybindings, but the purity of generating text in WriteRoom is a wonder to behold. I use WriteRoom when I am ready to expand on an idea that started as a note in NV. QuickCursor (also by HogBay Software) is the glue that makes this work. QuickCursor sits in your tray and launches text editors on any text that supports the Mac OS X Accessibility API. With QuickCursor, I can be looking at a note in NV, hit command+return to pull it up in WriteRoom and simply save and close WriteRoom when I am done. NV will sync up any changes and upload them to SimpleText.

MacVim

If I am writing new content, I tend to use WriteRoom. If I am updating or editing, I’ll pop into MacVim. I have MacVim bound to another QuickCursor shortcut and I can pull it up from Notational Velocity the same way. I perform any needed editing on the post and once the post is ready for prime time, I use my slightly modified version of Vimpress to post it to WordPress.

The posting process involves opening the post in MacVim and running the BlogNew command to stub out the WordPress metadata. After filling out the metadata, the command BlogSave publish (or draft) will push it up to the blog. Posts can be retrieved later using BlogList and BlogOpen.

Wrapping it up

I felt the need to post my workflow because I had a hard time finding examples that were not using dedicated blog software such as MarsEdit and none of it fit my style of writing and working. I hope that it helps someone else get out of their endless tool searching loop.