Markdown Simplifies Writing for the Web
Why I like Markdown
Several months ago I began format my articles using Markdown, a lightweight syntax designed to emulate the simple markup style commonly used in email messages. For example, if you would like to make text bold, just put asterisks around it. If you would like to make a list, just put a dash in front of each item. Overall, I’m happy with the change, as it has simplified the process for me to publish online. I can write with any text editor or word processor and then Markdown will convert my text to nicely formatted HTML.
Markdown is both a markup language and tool to convert markdown to HTML. The syntax for Markdown is simple and adds very little bulk to my text. Effectively, the only change made when I write was to add a tiny bit of formatting for the Markdown hyperlinks and headings. John Gruber, Markdown’s primary developer, wrote Dive Into Markdown, an essay describing his design goals, soon after he released the software in 2004. It is well written and worth reading.
I now prefer to keep my documents in Markdown rather than HTML as they are smaller, easier to read, and I can convert them to modern standards-based HTML on demand. I prefer this setup to WYSIWG tools or graphical HTML editors since the only real way to be certain how the HTML will appear to your readers is to view it for yourself with the same browser version. With Markdown, if the HTML specification is updated or the conversion tool adds features I like, I just install a new version of Markdown. I don’t need to modify my original text. Markdown is great for producing basic HTML documents like blog entries or simple web pages, but it is not well suited for long, complex, or highly formatted documents. There are several extensions to Markdown that add features to publish more specialized and complex documents.
If you would like to try Markdown for yourself right now, the Markdown Web Dingus or PHP Markdown Dingus will both give you a live preview of any Markdown formatted text you type. Markdown works on Mac OS X, Windows, and Unix/Linux and is widely supported as a plugin for most popular blog and wiki software. The reference version is written in Perl and developers have ported Markdown to Python, C, JavaScript, and other languages.
Gruber also wrote SmartyPants, which transforms plain text to include nice typographic elements such as curly quotes, en-dashes, em-dashes, and ellipses. Many implementations of Markdown include support for SmartyPants by default. Markdown has a liberal BSD-style license that makes it easy for developers to embed it in other packages. There are several Markdown test suites including one that ships with the reference version that can be used to test compatibility between versions. Wikipedia has a good technical comparison between lightweight markup languages if you would like to see how Markdown differs from similar projects.
Markdown Implementations and Utilities
These days, I write almost everything using the TextMate editor on Mac OS X, which includes support for SmartyPants, Markdown, and PHP Markdown extra. I use the QuickLook Markdown plugin when I want to quickly see a formatted version of a Markdown file from the Finder.
Markdownify converts from HTML to Markdown. The script is available as a web-based conversion tool or you can run the script on your own machine. It supports PHP Markdown Extra as well.
PHP Markdown Extra by Michel Fortin is an implementation of Markdown in PHP that lets you easily create definition lists, footnotes, tables, and intermix HTML with Markdown. The developer has also created a PHP version of SmartyPants unsurprisingly called PHP SmartyPants.
MultiMarkdown by Fletcher Penney’s is an implementation of Markdown that offers more conversion options and adds a number of extensions to the syntax such as footnotes, tables, bibliographic citations, image attributes, internal cross-references, glossary entries, and definition lists. MultiMarkdown first converts the plain text to XHTML and then uses XSLT transforms convert the XHTML into HTML, LaTeX, PDF, or RTF. It includes many features similar to PHP Markdown Extra. Penny’s MultiMarkdown Bundle for TextMate adds support for the MultiMarkdown variant.
Discount by David Parsons is version of Markdown, PHP Markdown extra, and SmartyPants all written in C that focuses on speed.
Pandoc by John MacFarlane can convert from Markdown, HTML, reStructuredText, and LaTeX to “reStructuredText, HTML, LaTeX, ConTeXt, PDF, RTF, DocBook XML, OpenDocument XML, ODT, GNU Texinfo, MediaWiki markup, groff man pages, and S5 HTML slide shows.” Pandoc includes Markdown extensions for definition lists, embedded LaTeX equations, footnotes, and tables. Pandoc is written in Haskell and currently Haskell and requires a bit of tweaking to make it work on Mac OS X 10.6/Snow Leopard.
Babelmark, the Markdown Testbed, allows you to compare the output of different Markdown implementations.
Messaging News Twitter Stream
- Evolving Security Needs of Enterprise Leads to Borderless Network Systems http://goo.gl/fb/BfA4u
- New Features Added to Barracuda Spam and Virus Firewall http://goo.gl/fb/vrzC1
- Could social networking at work leave SMBs playing Russian roulette with the law? http://goo.gl/fb/DjYtV
- Why Pinboard.in is my Favorite Bookmarking Service http://goo.gl/fb/RvWen
- Comments on LegalTech http://goo.gl/fb/109qc
- 1 of 12
- ››

Widgets & RSS Feeds
Comments
best alrounder
I know it’s not a popular topic, and everyone says, “use the right tool for the job”, but if you had to choose one for all your writing needs which one would you go for?
I really don’t want to learn a number of different markup languages, there’s also restructured text. I have some 3000 MS Word pages I need to convert into a format from which I can create HTML, PDF, RTF, etc. Which one of these do you think would be my best option?