My development environment (for writing)

April 15, 2015

I love to code, but I also spend a good bit of time writing. I write blog posts (like this one), tutorials, documentation, and a lot of notes. Chances are you also spend time writing, or need to do more of it. We all love documentation, right?

The hard part about writing is... writing. Tools should not add to that stress. I believe tools should get out of the way and let me get the job done. The simpler, the better.

Here's the short list:

Friction-free writing with Markdown

Markdown all the editors

A few years ago I discovered a beautiful, plain text markup language called Markdown. Markdown syntax is simple, easy to learn, and can be quickly turned into HTML, PDF or other formats. I find I can write notes, ideas, and drafts using any text editor at hand. And, there are many content applications that support Markdown syntax directly.

For short, quick documentation I usually write in whatever editor I'm currently using. There are Markdown plugins available for Atom, Sublime Text, and Visual Studio.

For focused writing, my go-to editor at the moment is MacDown. MacDown provides a live preview of my content rendered as HTML. I can customize the editing experience. And, I can export my content as HTML or PDF.


For serious writing, I launch the Hemingway desktop application. Hemingway analyzes my text for readability and grammar, and offers suggestions for improvement. It's a great first-line defense for better blog posts, or before handing content over to a "real" professional.


Blogging doesn't have to be scary

To restate, writing is hard enough without tools getting in the way. That is why I love using Ghost for my blog.

Ghost is easy to set up and manage. It supports Markdown, so I can copy and paste a draft I may have started elsewhere. Ghost renders a live preview while I write. Adding images to a blog post, which can be cumbersome with other blog platforms, couldn't be easier in Ghost.

How to add an image to a Ghost blog post:

  1. Type an empty image markup tag: ![]()
  2. An image placeholder appears in the live preview
  3. Drag and drop an image to the placeholder

Ghost image upload

A picture is worth a thousand words

Visuals such as pictures, illustrations, and video convey information and meaning elebenty-billion times faster than text alone. Snagit and Camtasia are indispensible tools for capturing screenshots and video. Both allow me to add highlights, arrows, and captions to screenshots.

Camtasia animated gif example

For hand-drawn sketches and illustrations, I've been using Forge. I especially like being able to create a new sketch based on selecting layers in an existing sketch. This allows me to quickly build a series of evolving illustrations.

Pushing work across the finish line

Was this post useful? What tools do you use? Leave a comment!