aboutsummaryrefslogtreecommitdiff
path: root/src/Text/Pandoc/Writers/EPUB.hs
diff options
context:
space:
mode:
authorJesse Rosenthal <jrosenthal@jhu.edu>2016-11-16 20:49:17 -0500
committerJohn MacFarlane <jgm@berkeley.edu>2017-01-25 17:07:39 +0100
commite24d5a56a7d0b26b9f15185bb570836878927d16 (patch)
treeb044a42d0a467fc47660ced96efef01347aba84b /src/Text/Pandoc/Writers/EPUB.hs
parent072107d1a2300afc7fb99263cc464048291d16d1 (diff)
downloadpandoc-e24d5a56a7d0b26b9f15185bb570836878927d16.tar.gz
Implement runTest functions.
These work with a State monad and a Reader monad to produce deterministic results. It can probably be simplified somewhat.
Diffstat (limited to 'src/Text/Pandoc/Writers/EPUB.hs')
-rw-r--r--src/Text/Pandoc/Writers/EPUB.hs8
1 files changed, 3 insertions, 5 deletions
diff --git a/src/Text/Pandoc/Writers/EPUB.hs b/src/Text/Pandoc/Writers/EPUB.hs
index 8e283a66a..435893443 100644
--- a/src/Text/Pandoc/Writers/EPUB.hs
+++ b/src/Text/Pandoc/Writers/EPUB.hs
@@ -66,8 +66,6 @@ import Text.HTML.TagSoup (Tag(TagOpen), fromAttrib, parseTags)
import Text.Pandoc.Free (PandocAction, runIO)
import qualified Text.Pandoc.Free as P
-type EPUBAction = PandocAction [(FilePath, (FilePath, Maybe Entry))]
-
-- A Chapter includes a list of blocks and maybe a section
-- number offset. Note, some chapters are unnumbered. The section
-- number is different from the index number, which will be used
@@ -77,7 +75,7 @@ data Chapter = Chapter (Maybe [Int]) [Block]
data EPUBState = EPUBState { stMediaPaths :: [(FilePath, (FilePath, Maybe Entry))]
}
-type E = StateT EPUBState EPUBAction
+type E = StateT EPUBState PandocAction
data EPUBMetadata = EPUBMetadata{
epubIdentifier :: [Identifier]
@@ -343,7 +341,7 @@ writeEPUB opts doc = runIO $ writeEPUBPure opts doc
writeEPUBPure :: WriterOptions -- ^ Writer options
-> Pandoc -- ^ Document to convert
- -> EPUBAction B.ByteString
+ -> PandocAction B.ByteString
writeEPUBPure opts doc =
let initState = EPUBState { stMediaPaths = []
}
@@ -398,7 +396,7 @@ pandocToEPUB opts doc@(Pandoc meta _) = do
picEntries <- (catMaybes . map (snd . snd)) <$> (gets stMediaPaths)
-- handle fonts
let matchingGlob f = do
- xs <- lift $ P.namesMatching f
+ xs <- lift $ P.glob f
when (null xs) $
lift $ P.warn $ f ++ " did not match any font files."
return xs