2013-10-04

Simplicity and Power of MultiMarkdown

Since I stumbled upon MultiMarkdown last week, I am more and more impressed with its simplicity and power, two attributes that can seldom coexist in computing. In one sentence, MultiMarkdown is a way of writing text in plain text format, adding human-readable markups about its structure and for possible formatting when converted to other formats. It is simple as these markups you add are minimal in number and easily memorable and readable. It is powerful as it uses plain text, which is the surest future-proof document format, and can be converted easily to other document formats, including HTML, OpenDocument, and PDF, instead of writing the same content in different formats.

Now I am converting my existing text documents to MultiMarkdown by adding its markups. I spent a few days this weeks to establish my workflow to start using MultiMarkdown as the default input format. Anyone who appreciates the power of plain text can also appreciate the power of MultiMarkdown. I wish more people, not only programmers but also researchers in the humanities, became acquainted with plain text and started using it.

Although MultiMarkdown is not an official standard yet (I hope it will), it has a community of users and tools. Probably the best place to learn the basics of MultiMarkdown is MultiMarkdown Guide, written by its inventor himself. He also has a more detailed guide called MultiMarkdown User's Guide. MultiMarkdown Support and MultiMarkdown Discussion List are good places where beginners as well as advanced users of MultiMarkdown can ask questions.

Since MultiMarkdown is in plain text with human-readable markups, also in plain text, one can compose text in this light-weight markup language with any text editor such as EditPad Pro, my favorite text editor for Windows, and EditPad Lite, its free little brother. The inventor of MultiMarkdown made a text editor that also shows the preview of text when converted to HTML - MultiMarkdown Composer - but unfortunately, it is only for Mac. There are many other similar editors for this platform, but there do not seem to be many for Windows. The only one I have found (and purchased) is MdCharm. Although one can convert MultiMarkdown documents to other formats from command line after installing MultiMarkdown package, I find it far easier to do so with Scrivener, which has become my favorite tool for writing long and complicated text documents.

My workflow as of now is the following:

  • 1 Compose text with EditPad Pro or Scrivener, depending on its length and complexity.
  • 2 Convert the document to one of the following formats with Scrivener: HTML (.html), Flat OpenDocument (.fodt), LaTeX (.tex).
  • 3.1 If it is in HTML, fine-tune the code, if necessary, with EditPad Pro.
  • 3.2 If it is in Flat OpenDucment, fine-tune, if necessary, and convert the document to one of the following formats with LibreOffice Writer (it is necessary to install OpenDocument-Text-Flat-XML.jar): OpenDocument (.odt), Word (.doc), PDF (.pdf).
  • 3.3 If it is in LaTeX, fine-tune, if necessary, and convert the document to PDF with LyX.

This workflow may seem too complicated, but in practice it is not. Besides, the advantage of composing text documents in MultiMarkdown is too big - you write them only once and convert them to other formats without changing the text itself. Having found the power of plain text years ago, I have always preferred this format, but only when its physical layout is irrelevant. But having found MultiMarkdown, I can also use plain text now even when its physical layout matters. Now I feel even more strongly how stupid and inefficient word processors are.