I spend a lot of my time creating and editing plain text files. It isn’t the prettiest or most powerful format for documents, but I still love it. Plain text is trivial to copy and paste between applications, and the files are human readable. Unlike .doc files, PDF files, or even RTF files, there are a gazillion apps that will show and edit text. And the format has staying power–it’s been around since the 1960’s and I’m willing to bet it will be easy to work with in 20 years and maybe even 50 years.
Markdown is an extremely simple but incredibly powerful way to add a bit of formatting to plain text without losing any of plain text’s benefits. When I write with Markdown, I can still use my favorite editing applications. At the same time, I can have section headings, bold, italic, lists, links, and more. Markdown does a lot of what HTML was originally designed to do but is much easier to write and much easier to read. It’s also easy to translate Markdown into any of these other formats when you need them.
My favorite thing about Markdown is that there is almost no learning curve–most people already use pieces of it without realizing it. If you want to emphasize a few words, you put one or two stars around them. If you want to make a bulleted list, you use stars for that too.
This:
* apples
* bananas
* pears
turns into this:
- apples
- bananas
- pears
You nest lists by indenting them:
* apples
* Fuji
* Braeburn
* McIntosh
* bananas
* pears
to create this:
- apples
- Fuji
- Braeburn
- McIntosh
- bananas
- pears
Other stuff like marking headings with hashmarks or embedding links is straight-forward too. John Gruber invented Markdown in 2004 and the original spec is still a great description of the language.
I use Markdown for tons of stuff. This includes the notes that go along with every one of my lectures and presentations. I can write them quickly and then have them display nicely on my iPad while I talk and walk around the room. I also take all my meeting notes in Markdown and sometimes share them with other meeting attendees. I write all my blog posts in Markdown and let Octopress/Jekyll automatically turn them into pretty HTML.
I don’t (yet) use Markdown for everything. My research articles are mostly written in Latex which does a much better job with mathematical equations and big structured documents. I use MS Word when I am collaborating with someone who is more comfortable in that environment. My class syllabi are still in Latex, but even though I could probably switch, it might be more trouble than it’s worth. And while I often draft my slide content in Markdown, it almost always ends up in a set of PowerPoint slides where I have much greater control over the layout.
On the Mac, I use emacs and FoldingText to edit standalone Markdown files like blog posts and lecture notes. I like emacs because I’ve been using it for 20 years and it’s really an extension of my brain at this point. It’s also what I use for editing code. On the other hand, it’s kind of ugly. FoldingText lets me hide/show sections of my document easily and makes my documents look pretty while I edit them by doing things like bolding text surrounded by double stars and hiding the actual double stars unless my cursor is on the bolded words. It does the same sort of thing for links.
I use nvAlt on my Mac to edit and manage all my meeting notes and miscellaneous notes. When editing, it just shows the raw text, but I can always hold down the control key to see the pretty version of the text. nvAlt is super-easy to search and it stores all the notes as separate files on dropbox so I can easily migrate to some other app if the mood strikes.
On my iPhone, I use WriteUp to edit standalone files like this blog post right now since it syncs so easily with Dropbox. Notesy syncs perfectly with nvAlt on the Mac. On the iPad, Writeup displays my lecture notes beautifully and gives me the option to make last minute edits.
If this post piques your interest, there’s great info about Markdown all over the web. Perhaps the single best resource is a new book by David Sparks and Eddie Smith that gathers a whole bunch of Markdown info in one place.