I have been meaning to learn Markdown for what feels like forever, but never quite had the time until now. I’m no stranger to markup languages– HTML (i.e., Hypertext Markup Language) is of course the most well-known markup language (so well-known and been around so long that people probably forget that is one) and I’ve been using that since the Internet exploded in the mid-1990s, but another example is wiki syntax, like that used by MediaWiki, one of the most popular wiki packages that was originally developed for (and still powers) the hugely popular Wikipedia. I’ve been using wikis in one way or another since they first started becoming popular as a collaboration tool in the early 2000s after first hearing about them from some early-adopter student employees at Stanford and later using TWiki heavily for collaboration during my CMU graduate program in Software Engineering, which largely revolved around project teams. So, I love the knowledge sharing and collaboration provided by a wiki, but thought that by now, especially since most wiki packages are open source and/or free, more efforts would have been made to standardize wiki syntax. Markdown seems like a great candidate for this.
In any case, Markdown is a great tool for creating richly formatted text and documents from both easy-to-read and easy-to-write plain text markup even for someone like me who has been using HTML so long that I could write it in my sleep. So, I finally took the time today and am actually writing this post using Markdown!* I like a good tutorial as much as the next guy to help get me started with any new technology and decided to use the Markdown tutorial at http://www.markdowntutorial.com. The particularly great thing about this tutorial is that you have to complete small Markdown exercises to move on to the next item or step of the tutorial and any experienced programmer knows that the best way to learn a language is to use it. So, as I was going through the tutorial and completing these little exercises, I found myself copying some of my answers to save as examples of one particular thing or another. In the end, I found myself learning Markdown by taking notes in Markdown as I went through the tutorial, creating my own cheat sheet containing Markdown basics.
Aside from the tutorial’s hands-on exercises, the other driving factor behind creating my own Markdown cheat sheet in Markdown was because I happened to be using Mou, a popular Markdown editor for Mac OS X. Mou displays the source and rendered Markdown side-by-side so as I was taking down notes and pasting in examples, I could also see as well as play around with my own examples on the left-hand side while seeing the results on the right.
I often need to switch programming languages and/or technologies quickly, working with at least two or three everyday, so I love a good cheat sheet to help me switch gears– at least until it starts becoming muscle memory and creating this cheat sheet certainly helped move me toward that goal with Markdown. So, if you’re looking to learn Markdown, I suggest you ideally follow the tutorial like I did, but if you want a quick start guide and/or cheat sheet to give you the basics, I’ve made my new MarkDown cheat sheet available here for download. As my Markdown skills develop, the cheat sheet will as well and I’ll post updated versions as I make them. Enjoy!
*Note re: Markdown support for WordPress: I recommend getting Markdown support for your WordPress blog via the Markdown on Save Improved WordPress plugin— this plugin smartly stores the Markdown version of your Posts separately so you can deactivate it, if necessary, without having your Posts continuing to spew out Markdown that WordPress can no longer properly process or render.