Markdown

For years, I used Microsoft Word to write every kind of text- random scribblings, serious documents, and lists of every kind. Word is capable, but also complex. Ribbons or toolbars, the number of choices are stupefying. The rules are no easier to grasp– after over twenty years, I still cannot figure out how bullets, tabs, and indentation are supposed to work together. It’s not uncommon to spend more time working on the formatting than on writing.

After moving to the Mac, I experimented with OpenOffice and NeoOffice, two open source versions of Office. They each have the warts and capabilities of the original, but with less charm. For a few years, I became a fan of Apple’s Pages. This is a cleaner, more usable program, but it brings its own share of problems. The program is slow to load, and takes up almost 100M of memory just idling. The most significant shortcoming is that the files are unreadable on Windows.

Recently, I’ve found a better way. Text.

I’m increasingly writing with plain text. The same text file format that I used in the mid-eighties. Text files are tiny. They work on any computer and require no special editors. Plain text is the ultimate portable file format.

But I’m typing text with a twist.

I’m writing text with a special syntax called Markdown. Markdown is a very simple markup language, created by John Gruber. The file format is plain ASCII text, but a Markdown parser converts it to HTML, the lingua franca of the Internet.

This is best explained through some examples. Want to create a bulleted list? Simple- just start each line with an asterisk. Like this:

* item 1

* item 2

* item 3

Run this through a Markdown processor, and you get this:

  • item 1
  • item 2
  • item 3

Here’s another example, creating headings using the # key. Just type

# Heading 1

## Heading 2

### Heading 3

and the parser yields

Heading 1

Heading 2

Heading 3

Another favorite of mine is the syntax for Internet links. Typing

This is a link to [my blog](dashausvonruh.com/blog).

creates

This is a link to my blog.

You could accomplish the same thing by writing directly in HTML. But the syntax there is nasty, complex, and error-prone. The resulting text is unreadable (or at least unpleasurable). Just compare the above text with the raw HTML below:

This is a link to < a href=”https://dashausvonruh.com/blog”>my blog<a>.

The syntax and extra characters mean you’re back to spending more time formatting than writing- the original problem I was trying to avoid.

What Markdown gives you is:

  • small, portable files
  • the ability to use a small fast simple text editor
  • simple, readable syntax, so you can focus on writing

With a Markdown parser, you still have the option for a pretty display when you need it. While the formatting options are limited compared to more complex tools, it works most of the time.

You can write Markdown with any text editor, but there are also tools that make it easier. In my next post, I’ll catalog the tools that I use in my workflow.

In the meantime, if you wish to learn more about Markdown, here is a good tutorial.

This blog post written in Markdown.