Marking Up with Markdown

Since I began using computers in the early nineties, I’ve gone through five different word processors: DeskMate, AppleWorks, NeoOffice, OpenOffice, and LibreOffice. I’ve shuffled through as many computers and operating systems, from DOS to Mac OS X. I know — very well — the pain of incompatible file formats, starting in college when my professors sent me commented Word documents that AppleWorks couldn’t read.

I’ve had great success writing with Scrivener, so much so that I converted all of my recent novel projects to the format shortly after buying the software. It’s the end-all, be-all of compiling large writing projects.

But what about smaller ones?

Google Docs was my go-to for a while, but it chokes on anything longer than about 10,000 words, and it relies on a constant internet connection. Most modern word processors are too bulky, including LibreOffice, for shorter entries. And none of the popular alternatives offer semantic formatting, so converting my Daily WTF articles to HTML is a huge chore.

Some time ago, George R. R. Martin was interviewed on Conan O’Brien about his writing process. He uses WordStar — WordStar! — on a dedicated DOS machine to write A Song of Ice and Fire. That got me thinking. What’s the most stripped-down way to write, something that I can convert to multiple formats as needed?

Regular plain text doesn’t give me formatting options. LaTeX is too friggin’ complicated, with a learning curve steep enough to rock climb on. HTML is cumbersome, with too few conversion tools. But there was a tool I’d ignored, one that’s almost a decade old now, that gives me everything I need: Markdown.

Writing in Markdown is just like writing in plain text, with punctuation used for formatting that’s consistent with widely-used conventions on the web. For example, asterisks are used for emphasis, *like so*. Double-asterisks are bold. Paragraphs are separated by two line breaks. Headers use hash marks. Take a look at this snippet:

# Chapter One

It was a *dark* and **stormy** night...

This renders as:

Chapter One

It was a dark and stormy night…

Typing asterisks and hash marks is much faster than tags or curly brackets, even if you use a text snippet tool for the latter two. It’s a more natural flow.

Best of all, it can be done on any text processor, which really appeals to the programmer in me. I’m used to writing in plain text all day, with some language-specific syntax highlighting. There will always be tools to write plain text files, but Microsoft Word files could be obsolete in ten years (and might be, since .docx is now the default for Word, not .doc).

I’ve already begun using Markdown on a regular basis, writing in Sublime Text. It’s great for my Daily WTF articles, since it includes support for escaping large blocks of computer code. I converted a short novelette to Markdown, which I’ll edit in a few weeks, to see how my tools stack up against a longer document. I’ve even been writing my blog posts here in Markdown, using WordPress’s baked-in support for the language to convert it to HTML on display.

However, Markdown is still rough around the edges. There are multiple dialects, each with semi-overlapping features using different syntaxes. Anything more complicated than headers, links, and emphasis is a crapshoot, depending on which dialect you use. You’ll also need to master toolchains like Pandoc to convert plain text files straight into Word or PDF format. For large projects, it’s still easier to use Scrivener … which also has limited support for Markdown. Go figure.

Best of all, Markdown documents can always be read by any text processor. I’ll never have to worry about moving from one word processor to another, or from Windows to Mac OS X. If you’re feeling adventurous, why not give it a shot?