From d07dc971da0123149e751dff987cf9df1a55b75d Mon Sep 17 00:00:00 2001
From: "Shaun Attfield (shaun@victor)" <heurist+git@gmail.com>
Date: Mon, 18 Nov 2013 11:53:13 +0200
Subject: [PATCH] Epub Writer: Add cover reference to guide element

Fixes an issue with calibre http://calibre-ebook.com/ putting the
cover at the end of the book if the spine has linear="no".

Apparently this is best practice for other converters as well.

http://www.idpf.org/epub/20/spec/OPF_2.0.1_draft.htm#Section2.6
---
 src/Text/Pandoc/Writers/EPUB.hs | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/Text/Pandoc/Writers/EPUB.hs b/src/Text/Pandoc/Writers/EPUB.hs
index ac0e7610c..ca69a0fd4 100644
--- a/src/Text/Pandoc/Writers/EPUB.hs
+++ b/src/Text/Pandoc/Writers/EPUB.hs
@@ -260,8 +260,10 @@ writeEPUB opts doc@(Pandoc meta _) = do
                                                     else "no")] $ ()) :
                   map chapterRefNode chapterEntries)
           , unode "guide" $
-              unode "reference" !
-                [("type","toc"),("title",plainTitle),("href","nav.xhtml")] $ ()
+              [ unode "reference" !
+                [("type","toc"),("title",plainTitle),("href","nav.xhtml")] $ () ]
+              ++ [ unode "reference" !
+                [("type","cover"),("title","Cover"),("href","cover.xhtml")] $ () ]
           ]
   let contentsEntry = mkEntry "content.opf" contentsData