Creating ebook with Markdown, pandoc and GNU Make

Writing bok with markdown is pure joy. I started a short practical SQL tutorial yesterday and it started do get traction today. I used shell script at first to generate the static HTML page for the book but make looked like a better idea. Here is the Makefile I use:

BUILDDIR = ./build

.PHONY: clean spell

all:	html epub

html: *.markdown style.css Makefile
	pandoc -s --css=style.css --toc -o $(BUILDDIR)/index.html *.markdown
	cp style.css $(BUILDDIR)

epub: *.markdown style.css Makefile
	pandoc -t epub --epub-metadata=metadata.xml -s --epub-stylesheet=style.css --toc -o $(BUILDDIR)/book.epub *.markdown

	rm -f $(BUILDDIR)/*.html
	rm -f $(BUILDDIR)/*.css
	rm -f $(BUILDDIR)/*.epub
	rm -f *.bak

	for i in *.markdown; do aspell --lang=bg_BG check $$i; done

Important note: make requires TAB for indentation.


comments powered by Disqus