Markdown: One Format to Rule Them All

Advanced Usage

So far, we've been converting our work to HTML, because that's the only output format supported by the main Markdown tool. But there's another app we can use to convert to a much wider range of formats called Pandoc [7]. This is an immensely versatile program – available in the package repositories of most Linux distros – and once you have it installed, you can see how many formats it supports by running:

pandoc --help

That shows quite a bit of output, but you can scroll up to see the input and output formats. For exchanging documents with word processor users, the two most useful formats are .docx (Microsoft Word) and .odt (OpenDocument text, as used by LibreOffice – the better choice in terms of fully open standards).

So, create a Markdown document containing various bits of formatting from the previous examples in the tutorial. Add some headers, emphasis, paragraphs, bulleted lists, and horizontal lines. Save as as usual, and then run this command:

pandoc -t odt -o test.odt

This tells Pandoc to use the .odt format and send the results to a file called test.odt. Open that file in LibreOffice, and you should see all the formatting from your Markdown document, implemented neatly in the word processor (Figure 4). Helpfully, the conversion uses OpenDocument paragraph styles for easier modification of the text – it's not just built around hard-coded sizes and formatting.

Figure 4: Thanks to Pandoc, you can convert your Markdown text into a huge range of formats, including OpenDocument.

You may find Markdown so comfortable and useful that you want to use it all the time. If you live inside Emacs or Vim, you may want to make it your default format for long text documents – in which case, you'll want to convert other formats to Markdown before editing. Pandoc can do this as well. To test that, create a new LibreOffice Writer document called test2.odt and put some content inside it. Mix up the formatting a bit (paragraph styles, bullet points, emphasis, etc.) and save it. Then, at the command line, run:

pandoc test2.odt -t markdown -o

Now look at the contents of, and you should see some familiar Markdown code. (Note that you may see some slight differences, such as dashes being used for bullet points instead of asterisks, but it should largely be the same.) Of course, LibreOffice Writer can create documents way too advanced for replication in Markdown, so you may lose some formatting and need to tidy things up, but generally it works well.

As mentioned previously, Markdown is being adopted by more and more sites for quick publishing jobs, so here you've learned some valuable skills. And, best of all, you can get more done without leaving your trusty text editor!

Buy Linux Magazine

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

comments powered by Disqus
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters

Support Our Work

Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.

Learn More