@@ -72,13 +72,14 @@ writeEPUB :: EPUBVersion
7272 -> Pandoc -- ^ Document to convert
7373 -> IO B.ByteString
7474writeEPUB version opts doc@(Pandoc meta _) = do
75+ let epub3 = version == EPUB3
7576 epochtime <- floor `fmap` getPOSIXTime
7677 let mkEntry path content = toEntry path epochtime content
7778 let opts' = opts{ writerEmailObfuscation = NoObfuscation
7879 , writerStandalone = True
7980 , writerWrapText = False }
8081 let sourceDir = writerSourceDirectory opts'
81− let vars = writerVariables opts'
82+ let vars = ("epub3", if epub3 then "true" else "false"):writerVariables opts'
8283 let mbCoverImage = lookup "epub-cover-image" vars
8384
8485 titlePageTemplate <- readDataFile (writerUserDataDir opts)
@@ -106,7 +107,8 @@ writeEPUB version opts doc@(Pandoc meta _) = do
106107
107108 -- title page
108109 let tpContent = fromStringLazy $ writeHtmlString
109− opts'{writerTemplate = titlePageTemplate}
110+ opts'{writerTemplate = titlePageTemplate,
111+ writerVariables = vars}
110112 (Pandoc meta [])
111113 let tpEntry = mkEntry "title_page.xhtml" tpContent
112114
@@ -140,7 +142,7 @@ writeEPUB version opts doc@(Pandoc meta _) = do
140142 let chapToEntry :: Int -> [Tag String] -> Entry
141143 chapToEntry num ts = mkEntry (showChapter num)
142144 $ fromStringLazy
143− $ renderTemplate [("body",renderTags ts), ("pagetitle",show num)]
145+ $ renderTemplate (("body",renderTags ts):("pagetitle",show num):vars)
144146 $ pageTemplate
145147
146148 let chapterEntries = zipWith chapToEntry [1..] chunks