My blogging tools

Here are the tools I use to blog. Be warned: they’re geeky. This is not for the faint of heart. ;)

Dropbox

Basic layout: in my Dropbox folder I have a blog folder with two subfolders, drafts and posted. Self-explanatory, I hope.

Each post starts as a stub text file in the drafts folder, using the post topic for the filename. If I have any ideas for the post, I’ll make a bulleted list in the file with those ideas.

Writing the post comes next. When I’m done, I post it and move it to the posted folder. I’ve thought about storing these drafts in WordPress itself, but I don’t write my posts in WordPress; I write them in Vim, and I don’t want to waste my life copying and pasting unnecessarily. I also like having my blog post drafts as plain text files in a filesystem — easy to backup and more open than being hidden away in a SQL database. And I can get to my blog posts from any of my computers, from my iPhone (using the Dropbox app), or from the web app.

I have to say that this setup (which is still fairly new to me) is a much easier way to keep track of blog post ideas. Instead of keeping a list of ideas (which is what I’ve been doing), I just make a new file in the drafts folder. Boom.

In fact, this organization system has rejuvenated my interest in blogging, oddly enough. It makes me want to blog.

Vim

While I’ve used many different writing tools (Bean, OmmWriter, WriteRoom, TextMate, Scrivener, etc.), I always come back to Vim. Most of the time I use MacVim, but I often use plain vanilla Vim on the terminal as well.

It’s fast. It’s free. I love it. The keyboard shortcuts make writing and revising so so so fast. I can work almost at the speed of thought. (Almost. :P) It really is a joy to use.

That said, there’s a steep learning curve and it is a very esoteric tool. Definitely not suited for everyone. But if you’ve got a geeky inclination and enjoy feeling a rush of pure power every time you open your text editor, try Vim. It’s bliss in bits.

Markdown

For years I’ve been writing my posts in HTML, but a few weeks ago I realized that I really ought to be using Markdown instead. (I’ve also been using Markdown for Glider, my lightweight wiki, and it’s been great.)

What’s Markdown? A simple markup language for writing for the web. For example:

HTML: <a href="http://google.com/">Google</a>
Markdown: [Google](http://google.com/)

HTML: The <i>quick</i> brown fox jumps over the <b>lazy</b> dog.
Markdown: The *quick* brown fox jumps over the **lazy** dog.

HTML: <h3>A header</h3>
Markdown: ### A header

Pretty much awesome. It’s so much easier to write using Markdown. (And I say this as one who practically dreams in HTML/CSS.)

I save my text files with a .text extension so I can easily add Markdown syntax highlighting in Vim (using the Markdown Vim mode). Here’s the relevant section of my .vimrc:

au! BufNewFile,BufRead *.text  set filetype=mkd
au BufNewFile,BufRead *.text   set ai formatoptions=tcroqn2 comments=n:&gt;

Note: Originally I was using .md for my extension, but I switched to .text because the Dropbox iPhone app couldn’t view .md files, nor could MobileSafari.

I’m using the WordPress plugin PHP Markdown Extra to let me write my posts in Markdown, by the way. Switching over required some slight reformatting on previous pages (where I was counting on WordPress breaking lines but Markdown didn’t, for example), but it wasn’t that bad.

Simplenote

I use Simplenote on my iPhone for jotting down post ideas when I’m away from my computer, and occasionally I use it for drafting posts. (I can then copy and paste the text from the Simplenote web app into a .text file in my Dropbox folder.)

I should add that I use Simplenote for other things all the time, several times a day. It’s awesome.

Also: I can’t wait until Simplenote integrates with Dropbox (which is coming next year, I hear).

Field Notes

When I’m feeling more analog-ish or don’t have my computer or phone handy, I draft blog posts in my Field Notes notebook and then type them up later. I love Field Notes.

WordPress

I use WordPress, hosted through Bluehost. And I love it. It’s beautiful and fits my needs, and I can easily theme it and extend it when necessary. (And the auto-update feature? Priceless.)

That said, I would like to eventually write my own CMS, something bare-bones like Jekyll. Will it happen? Probably not, since it would take a lot of time (both to implement and to migrate all my old posts and comments and images over) that I could better spend writing and designing. WordPress is a little bloated, but it’s not awful — I can definitely live with it.

Vimblog

Copying and pasting my blog drafts into WordPress is a slight pain, one that can easily be automated. Enter Vimblog, a Vim plugin I put together (based on the vim-blog code) to allow me to post from Vim. It’s a Python script that uses the MetaWeblog API to post the draft (and I should add that it puts the post in draft mode, so you can go in and add images and categories and such before you publish the post).

Also: to make things a little easier to write, Vimblog expects a blog post to take the following format:

My blogging tools

Here are the tools I use to blog. Be warned: they're geeky. This is not for the
faint of heart. ;)

### Dropbox

Basic layout...

The first line is the title, followed by a blank line and the rest of the blog post. Simple.

Could I extend the script so I could add categories and images and all that straight from the post? Sure. But WordPress’s tools are better suited for both of those tasks, so I’ve left it out.

Last words

I’m still trying to find better, faster, simpler, smoother ways to do this, so if you have feedback or ideas, leave a comment.

Comments

ryan
Dec 24, 2009 at 9:08 am

I use Marsedit for writing.

i looked long and hard for a CMS to replace WordPress, and I was also quite close to writing my own. I tried out Hyde (the Python cousin of Jekyll) and PyBloxsom, but both ended up not quite being what I wanted. Instead of hacking them to my needs, I just ended up on Tumblr. Free, also easily theme-able, and none of the worries about having to self host and constantly update a security-hole ridden piece of software like WordPress.

So now I use NearlyFreeSpeech.net for hosting my main (static) page for mere pennies a day (MUCH cheaper than my account on BlueHost), and just link to my blog on Tumblr.

Still not perfect, but I like it so far.

Ben
Dec 26, 2009 at 10:23 am

Cool — I’ve thought about trying Tumblr, but again, I’ve got enough legacy data on my WordPress blog that it wouldn’t really be worth it. (Or at least I’d have to have a lot of free time to pull it off.) I hadn’t heard of NearlyFreeSpeech.net, but it sounds intriguing as well. Good to keep in mind for static sites…