summaryrefslogtreecommitdiff
path: root/src/Text/Pandoc/Readers/EPUB.hs
diff options
context:
space:
mode:
authorMatthew Pickering <matthewtpickering@gmail.com>2014-08-10 00:12:09 +0100
committerMatthew Pickering <matthewtpickering@gmail.com>2014-08-10 00:12:09 +0100
commit4ae61bdf8fb35ab82ef9fffe05817bb4323fde45 (patch)
treea2631dd6b1d7d6cdbcab866e07e9300dbf3fe488 /src/Text/Pandoc/Readers/EPUB.hs
parentd0fbe5b75142cc30d925af9f8e891e2a0a120b19 (diff)
EPUB: Fixed another mediabag related regression..
Diffstat (limited to 'src/Text/Pandoc/Readers/EPUB.hs')
-rw-r--r--src/Text/Pandoc/Readers/EPUB.hs8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/Text/Pandoc/Readers/EPUB.hs b/src/Text/Pandoc/Readers/EPUB.hs
index fd5980f0a..cb5f684b2 100644
--- a/src/Text/Pandoc/Readers/EPUB.hs
+++ b/src/Text/Pandoc/Readers/EPUB.hs
@@ -62,7 +62,7 @@ archiveToEPUB os archive = do
foldM' (\a b -> ((a <>) . bottomUp (prependHash escapedSpine))
`liftM` parseSpineElem root b) mempty spine
let ast = coverDoc <> (Pandoc meta bs)
- let mediaBag = fetchImages (M.elems items) archive ast
+ let mediaBag = fetchImages (M.elems items) root archive ast
return $ (ast, mediaBag)
where
os' = os {readerParseRaw = True}
@@ -86,16 +86,18 @@ archiveToEPUB os archive = do
-- paths should be absolute when this function is called
-- renameImages should do this
fetchImages :: [(FilePath, MIME)]
+ -> FilePath -- ^ Root
-> Archive
-> Pandoc
-> MediaBag
-fetchImages mimes arc (query iq -> links) =
+fetchImages mimes root arc (query iq -> links) =
foldr (uncurry3 insertMedia) mempty
(mapMaybe getEntry links)
where
getEntry link =
+ let abslink = root </> link in
(link , lookup link mimes, ) . fromEntry
- <$> findEntryByPath link arc
+ <$> findEntryByPath abslink arc
iq :: Inline -> [FilePath]
iq (Image _ (url, _)) = [url]