@@ -35,7 +35,7 @@ import System.Environment ( getEnv )
35import Text.Printf (printf)
35import Text.Printf (printf)
36import System.FilePath ( (</>), (<.>), takeBaseName, takeExtension, takeFileName )
36import System.FilePath ( (</>), (<.>), takeBaseName, takeExtension, takeFileName )
37import qualified Data.ByteString.Lazy as B
37import qualified Data.ByteString.Lazy as B
38−import Data.ByteString.Lazy.UTF8 ( fromString )
38+import Text.Pandoc.UTF8 ( fromStringLazy )
39import Codec.Archive.Zip
39import Codec.Archive.Zip
40import Data.Time.Clock.POSIX
40import Data.Time.Clock.POSIX
41import Text.Pandoc.Shared hiding ( Element )
41import Text.Pandoc.Shared hiding ( Element )
@@ -82,7 +82,7 @@ writeEPUB opts doc@(Pandoc meta _) = do
82 Nothing -> return ([],[])
82 Nothing -> return ([],[])
83 Just img -> do
83 Just img -> do
84 let coverImage = "cover-image" ++ takeExtension img
84 let coverImage = "cover-image" ++ takeExtension img
85− let cpContent = fromString $ writeHtmlString
85+ let cpContent = fromStringLazy $ writeHtmlString
86 opts'{writerTemplate = coverImageTemplate,
86 opts'{writerTemplate = coverImageTemplate,
87 writerVariables = ("coverimage",coverImage):vars}
87 writerVariables = ("coverimage",coverImage):vars}
88 (Pandoc meta [])
88 (Pandoc meta [])
@@ -91,7 +91,7 @@ writeEPUB opts doc@(Pandoc meta _) = do
91 , [mkEntry coverImage imgContent] )
91 , [mkEntry coverImage imgContent] )
93 -- title page
93 -- title page
94− let tpContent = fromString $ writeHtmlString
94+ let tpContent = fromStringLazy $ writeHtmlString
95 opts'{writerTemplate = titlePageTemplate}
95 opts'{writerTemplate = titlePageTemplate}
96 (Pandoc meta [])
96 (Pandoc meta [])
97 let tpEntry = mkEntry "title_page.xhtml" tpContent
97 let tpEntry = mkEntry "title_page.xhtml" tpContent
@@ -125,7 +125,7 @@ writeEPUB opts doc@(Pandoc meta _) = do
125 let chapterToEntry :: Int -> Pandoc -> Entry
125 let chapterToEntry :: Int -> Pandoc -> Entry
126 chapterToEntry num chap = mkEntry
126 chapterToEntry num chap = mkEntry
127 (showChapter num) $
127 (showChapter num) $
128− fromString $ chapToHtml chap
128+ fromStringLazy $ chapToHtml chap
129 let chapterEntries = zipWith chapterToEntry [1..] chapters
129 let chapterEntries = zipWith chapterToEntry [1..] chapters
131 -- contents.opf
131 -- contents.opf
@@ -157,7 +157,7 @@ writeEPUB opts doc@(Pandoc meta _) = do
157 let plainTitle = plainify $ docTitle meta
157 let plainTitle = plainify $ docTitle meta
158 let plainAuthors = map plainify $ docAuthors meta
158 let plainAuthors = map plainify $ docAuthors meta
159 let plainDate = maybe "" id $ normalizeDate $ stringify $ docDate meta
159 let plainDate = maybe "" id $ normalizeDate $ stringify $ docDate meta
160− let contentsData = fromString $ ppTopElement $
160+ let contentsData = fromStringLazy $ ppTopElement $
161 unode "package" ! [("version","2.0")
161 unode "package" ! [("version","2.0")
162 ,("xmlns","http://www.idpf.org/2007/opf")
162 ,("xmlns","http://www.idpf.org/2007/opf")
163 ,("unique-identifier","BookId")] $
163 ,("unique-identifier","BookId")] $
@@ -189,7 +189,7 @@ writeEPUB opts doc@(Pandoc meta _) = do
189 , unode "content" ! [("src",
189 , unode "content" ! [("src",
190 eRelativePath ent)] $ ()
190 eRelativePath ent)] $ ()
192− let tocData = fromString $ ppTopElement $
192+ let tocData = fromStringLazy $ ppTopElement $
193 unode "ncx" ! [("version","2005-1")
193 unode "ncx" ! [("version","2005-1")
194 ,("xmlns","http://www.daisy.org/z3986/2005/ncx/")] $
194 ,("xmlns","http://www.daisy.org/z3986/2005/ncx/")] $
195 [ unode "head" $
195 [ unode "head" $
@@ -214,10 +214,10 @@ writeEPUB opts doc@(Pandoc meta _) = do
214 let tocEntry = mkEntry "toc.ncx" tocData
214 let tocEntry = mkEntry "toc.ncx" tocData
216 -- mimetype
216 -- mimetype
217− let mimetypeEntry = mkEntry "mimetype" $ fromString "application/epub+zip"
217+ let mimetypeEntry = mkEntry "mimetype" $ fromStringLazy "application/epub+zip"
219 -- container.xml
219 -- container.xml
220− let containerData = fromString $ ppTopElement $
220+ let containerData = fromStringLazy $ ppTopElement $
221 unode "container" ! [("version","1.0")
221 unode "container" ! [("version","1.0")
222 ,("xmlns","urn:oasis:names:tc:opendocument:xmlns:container")] $
222 ,("xmlns","urn:oasis:names:tc:opendocument:xmlns:container")] $
223 unode "rootfiles" $
223 unode "rootfiles" $
@@ -226,7 +226,7 @@ writeEPUB opts doc@(Pandoc meta _) = do
226 let containerEntry = mkEntry "META-INF/container.xml" containerData
226 let containerEntry = mkEntry "META-INF/container.xml" containerData
228 -- com.apple.ibooks.display-options.xml
228 -- com.apple.ibooks.display-options.xml
229− let apple = fromString $ ppTopElement $
229+ let apple = fromStringLazy $ ppTopElement $
230 unode "display_options" $
230 unode "display_options" $
231 unode "platform" ! [("name","*")] $
231 unode "platform" ! [("name","*")] $
232 unode "option" ! [("name","specified-fonts")] $ "true"
232 unode "option" ! [("name","specified-fonts")] $ "true"
@@ -236,7 +236,7 @@ writeEPUB opts doc@(Pandoc meta _) = do
236 stylesheet <- case writerEpubStylesheet opts of
236 stylesheet <- case writerEpubStylesheet opts of
237 Just s -> return s
237 Just s -> return s
238 Nothing -> readDataFile (writerUserDataDir opts) "epub.css"
238 Nothing -> readDataFile (writerUserDataDir opts) "epub.css"
239− let stylesheetEntry = mkEntry "stylesheet.css" $ fromString stylesheet
239+ let stylesheetEntry = mkEntry "stylesheet.css" $ fromStringLazy stylesheet
241 -- construct archive
241 -- construct archive
242 let archive = foldr addEntryToArchive emptyArchive
242 let archive = foldr addEntryToArchive emptyArchive