pandoc publish

I’ve created a wrapper and configuration for pandoc, the universal markup converter, intended to make it easy to publish novels or other fiction written in Markdown. It produces ePub3 ebooks, and PDFs for print in 5x8-inch or 6x9-inch paperback/hardback format.

The project is available on github. It’s released under the GPL-3.0 license.

Many applications allow writing in Markdown, and even writing multi-section, long-form documents. Some also offer export and publishing features. The gold standard amongst these, in my opinion, is Ulysses on macOS and iOS, which I’ve used for years. Indeed, I’ve previously created some Ulysses export styles (for ePub, and for print PDF) to do much the same as this pandoc configuration, albeit with less flexibility (and requiring Ulysses, of course).

Recently, though, I’ve found myself wanting a free and open source solution for that same workflow, using files stored in the file system rather than a proprietary app, and this is the result.

This configuration was created with a focus on simplicity for the user. A full example novel project is included (albeit one filled with lorem ipsum gibberish), and only a single command needs to be executed to create a publishable version in two formats:

  1. A standards-compliant ePub3 ebook, ready for the Kindle Store, Apple Books Store, and direct use on virtually any e-reader device or app.

  2. A print-ready PDF file, for the interior of a 5x8-inch paperback (6x9-inch is supported too).

This will get you 90% of the way there for print (you’ll need to provide your own cover wraparound master, of course, to the required specs of your print-on-demand service or printing company), and 99% of the way there for digital (just supply your own cover-image JPEG or PNG).

You can also, of course, use this as an example of a ready-made and detailed configuration for pandoc in this context, and build upon it yourself.

Find out more, read the full documentation, and get the configuration and project at its github repository.


Addendum

I’ve significantly upgraded the project since first sharing it, with lots of new functionality including:

This is proving incredibly useful for my own workflows, and I hope it’ll be handy to others too. Any problems or requests should be added to the issue tracker.