From 759c0168a176e936a887b8f3589288da3ef8a8b7 Mon Sep 17 00:00:00 2001
From: Noufal Ibrahim <noufal@nibrahim.net.in>
Date: Sat, 2 Nov 2013 00:43:00 +0530
Subject: [PATCH] Create epub versions of tutorial and ref manual.

Pandoc can create epub verions of the markdown files. Since the docs
are lengthy, epubs are handy to have around. Two rules to create epub
versions of the reference manual and the main tutorial are added here.

Signed-off-by: Noufal Ibrahim <noufal@nibrahim.net.in>
---
 .gitignore  |  1 +
 mk/clean.mk |  2 +-
 mk/docs.mk  | 25 +++++++++++++++++++++++++
 3 files changed, 27 insertions(+), 1 deletion(-)

diff --git a/.gitignore b/.gitignore
index 4eff4c54058..67367ef8c79 100644
--- a/.gitignore
+++ b/.gitignore
@@ -30,6 +30,7 @@
 *.cps
 *.log
 *.pdf
+*.epub
 *.html
 *.pg
 *.toc
diff --git a/mk/clean.mk b/mk/clean.mk
index fc4bcf6c759..d2f17fd52c8 100644
--- a/mk/clean.mk
+++ b/mk/clean.mk
@@ -53,7 +53,7 @@ clean-misc:
 	$(Q)rm -Rf tmp/*
 	$(Q)rm -Rf rust-stage0-*.tar.bz2 $(PKG_NAME)-*.tar.gz dist
 	$(Q)rm -Rf $(foreach ext, \
-                 html aux cp fn ky log pdf pg toc tp vr cps, \
+                 html aux cp fn ky log pdf pg toc tp vr cps epub, \
                  $(wildcard doc/*.$(ext)))
 	$(Q)find doc/std doc/extra -mindepth 1 | xargs rm -Rf
 	$(Q)rm -Rf doc/version.md
diff --git a/mk/docs.mk b/mk/docs.mk
index 771f1511c6d..621d283ee5d 100644
--- a/mk/docs.mk
+++ b/mk/docs.mk
@@ -64,6 +64,20 @@ doc/rust.tex: rust.md doc/version.md
          --from=markdown --to=latex \
          --output=$@
 
+DOCS += doc/rust.epub
+doc/rust.epub: rust.md doc/version_info.html doc/rust.css doc/manual.inc
+	@$(call E, pandoc: $@)
+	$(Q)$(CFG_NODE) $(S)doc/prep.js --highlight $< | \
+	"$(CFG_PANDOC)" \
+         --standalone --toc \
+         --section-divs \
+         --number-sections \
+         --from=markdown --to=epub \
+         --css=rust.css --include-in-header=doc/manual.inc \
+         --include-before-body=doc/version_info.html \
+         --output=$@
+
+
 DOCS += doc/tutorial.tex
 doc/tutorial.tex: tutorial.md doc/version.md
 	@$(call E, pandoc: $@)
@@ -98,6 +112,17 @@ doc/tutorial.html: tutorial.md doc/version_info.html doc/rust.css
            --include-before-body=doc/version_info.html \
            --output=$@
 
+DOCS += doc/tutorial.epub
+doc/tutorial.epub: tutorial.md doc/version_info.html doc/rust.css
+	@$(call E, pandoc: $@)
+	$(Q)$(CFG_NODE) $(S)doc/prep.js --highlight $< | \
+          $(CFG_PANDOC) --standalone --toc \
+           --section-divs --number-sections \
+           --from=markdown --to=epub --css=rust.css \
+           --include-before-body=doc/version_info.html \
+           --output=$@
+
+
 DOCS_L10N += doc/l10n/ja/tutorial.html
 doc/l10n/ja/tutorial.html: doc/l10n/ja/tutorial.md doc/version_info.html doc/rust.css
 	@$(call E, pandoc: $@)