Only a few weeks into his Markdown foray, Alain Latour is tempted by its cousin, MultiMarkdown. Today he tells us whether you should familiarize yourself with yet another markup language language.
There is such a thing as too basic a tool.
Those of you who have read my articles here on the Daily Mac View have probably noticed that I was sold on Markdown shortly before I began using it. (If you’re not familiar with Markdown, I recommend this article as a primer. For now, suffice it to quote Markdown’s creator: “[Markdown is an] “easy-to-read, easy-to-write plain text format that you can optionally convert to structurally valid XHTML (or HTML)“
The reason Markdown grew so quickly on me is threefold. First, I I like that as a lightweight markup language, it’s inherently easy to use and to read. Second, I appreciate the fact that it makes my documents future proof as well as portable. Third, no fancy bells and whistles get in the way of my writing.
But Markdown is still lacking in convenient features. For example, it doesn’t track changes. Neither does it let users change font size (which would come in handy for photo captions) nor create tables, nor add custom attributes to images (currently, I resize them before uploading to CloudApp.]
These are admittedly minor gripes that I circumvent easily. Yet they do not represent the full scope of what’s missing in Markdown. More advanced users regret that Markdown is missing multiple syntax features, like footnotes and citations. Others wish it supported link attributes, cross-references, and document metadata like title, author, and date.
“I, and others, loved the spirit and elegance of Markdown, but felt it was still missing a few features that each of us considered were essential. Several variations on Markdown arose to meet the needs of these other programmers.” —Fletcher Penney.
To address these limitations, Fletcher Penney, a physician, ended up developing MultiMarkdown, a superset of the Markdown syntax.
The results? MultiMarkdown lets you do everything I listed above which you can’t do on Markdown (
save for tracking changes CORRECTION: MultiMarkdown does support change tracking. And MultiMarkdown Composer, the only editor that really supports MultiMarkdown, since Fletcher Penney wrote it and it uses the exact same code, has built-in support to create the change tracking markup.)
With MultiMarkdow, you can even do things I hadn’t thought about, such as adding the ever-useful ross-references, which improve a document’s navigability by giving the reader links to jump across sections with a single click.
Indeed, with MultiMarkdown you can even create entire books, PDF articles, and presentations (along with HTML documents, of course). It doesn’t matter how many tables, metadata, or formatting options you want to play with. In fact, it even has math support (a feature I hope I never have to use).
“Personally, [MultiMarkdown] changed my game — it’s how I think now. Can’t imagine writing more than a paragraph in anything that doesn’t do MMD.” — Merlin Mann, kung fu grippe
*Byword supports MultiMarkdown, as do many other Markdown apps. *
Many people seem to think MultiMarkdown delivers far more than they need. That may be true in many cases. But if even a technologically challenged writer such as myself found himself limited by Markdown’s constraints —in a matter of weeks— it’s fair to assume most of you stand to gain from adapting MultiMarkdown, too.
While John Gruber isn’t a fan of MultiMarkdown, the fact of the matter remains that it lets people like me do things which Markdown won’t.
Better still, using MultiMarkdown doesn’t take much at all. It is, in fact, almost as easy to use as Markdown, with the vast majority of the syntax being the same. Once you understand Markdown, you’re pretty much good to go.
As for the required software, don’t be surprised to find that your existing app already supports MultiMarkdown. For example, Scrivener and Byword, pretty much the only two writing apps I use, support it out of the box, as do TextMate and Marked. (You may have to download MultiMarkdown beforehand.)