Pandoc Markdown ebook template
This project defines a skeleton repo for creating ebooks out of Pandoc Markdown. Pandoc is a great tool for
writing ebooks with simple to moderately complex formatting, but I've found that
in practice, creating an EPUB isn't quite as simple as just running pandoc
-o book.epub book.md
.
The author of Pandoc has written a short tutorial for creating EPUB files with Pandoc. This repo just expands on MacFarlane's tutorial a bit and wraps things up in a Makefile.
Installing and running
- If you have not already done so, install:
- Clone this repo with git.
- From the top of the project, type
make book
or simply,make
. This generates three versions of the sample book in abuild/
directory.
Replacing the sample material
Edit these files:
ch01.md and ch02.md
Replace the dummy text with your own. You can add, subtract, or rename these
*.md
chapters as you please, but you must edit the CHAPTERS
variable in
the Makefile
accordingly.
images/cover.jpg
Replace this with your own cover image or delete it entirely.
Makefile
Change
BOOKNAME
to something appropriate for your book. This determines your book's filename.Change
CHAPTERS
to a space separated list of Pandoc Markdown chapters, in the order in which you want them to appear.Change
COVER_IMAGE
. You might want to move your cover image elsewhere, or use a different file format such as PNG.If you don't want a cover image, delete this variable and the
--epub-cover-image
option in the EPUB target.(Optional) Change
LATEX_CLASS
. The default ofreport
handles multi-chapter books pretty well, and uses the same template for even and odd page numbers. However, you are free to substitute in any other LaTeX document class. For example,book
provides a left-side/right-side template that is suitable for print, andarticle
is good for shorter manuscripts (short stories, technical briefs).
title.txt
Replace the contents of this file with the real manuscript title and author name.
metadata.xml
Replace with your actual copyright statement, language, and any other Dublin Core metadata you wish to provide.