I have a feeling that I'm going to be doing a lot more writing using the Markdown language rather than using a web based rich text editor or plain HTML. Markdown is supported by Typepad, supported by Octopress (with a bunch of enhancements), supported by Github (with a few changes to be more code-friendly), supported by Vim (with colorizing of text), and supported by Leanpub (which turns them into EPUB and MOBI files). That's five for five for the environments I'm working in the most, which suggests that it's worthwhile to learn all that I can.
Markdown is a fairly simple language, and it's relatively old in net terms (2004) so it's had time to mature. Maturing means both that there are well-documented core features that are invariant among all Markdown interpreters, as well as sometimes incompatible details that show up when people extend the system.
Some popular interpreters include:
- Discount, in C
- RDiscount, in Ruby as a wrapper to Discount
- kramdown, written in Ruby
- Maruku, also written in Ruby; can render to LaTeX
- PHP Markdown Extra, written in PHP with extensions to Markdown
- Pandoc, a universal document converter with support for many formats
- peg-markdown, a fast parser in C
- Redcarpet, a Ruby gem
And some popular editors for Mac OS X include:
- Mou, a Markdown editor for web developers
You'll find reviews of 35 Markdown apps for Mac at Appstorm; I haven't tried them all (and probably never will).