@@ -433,7 +433,7 @@ pandocToEPUB version opts doc@(Pandoc meta _) = do
433 -- handle pictures
433 -- handle pictures
434 -- mediaRef <- P.newIORef []
434 -- mediaRef <- P.newIORef []
435 Pandoc _ blocks <- walkM (transformInline opts') doc >>=
435 Pandoc _ blocks <- walkM (transformInline opts') doc >>=
436− walkM (transformBlock opts')
436+ walkM transformBlock
437 picEntries <- (catMaybes . map (snd . snd)) <$> (gets stMediaPaths)
437 picEntries <- (catMaybes . map (snd . snd)) <$> (gets stMediaPaths)
438 -- handle fonts
438 -- handle fonts
439 let matchingGlob f = do
439 let matchingGlob f = do
@@ -891,29 +891,26 @@ showDateTimeISO8601 :: UTCTime -> String
891showDateTimeISO8601 = formatTime defaultTimeLocale "%FT%TZ"
891showDateTimeISO8601 = formatTime defaultTimeLocale "%FT%TZ"
893transformTag :: PandocMonad m
893transformTag :: PandocMonad m
895− -- -> IORef [(FilePath, (FilePath, Maybe Entry))] -- ^ (oldpath, newpath, entry) media
896− -> Tag String
894+ => Tag String
897 -> E m (Tag String)
895 -> E m (Tag String)
898−transformTag opts tag@(TagOpen name attr)
896+transformTag tag@(TagOpen name attr)
899 | name `elem` ["video", "source", "img", "audio"] &&
897 | name `elem` ["video", "source", "img", "audio"] &&
900 lookup "data-external" attr == Nothing = do
898 lookup "data-external" attr == Nothing = do
901 let src = fromAttrib "src" tag
899 let src = fromAttrib "src" tag
902 let poster = fromAttrib "poster" tag
900 let poster = fromAttrib "poster" tag
903− newsrc <- modifyMediaRef opts src
901+ newsrc <- modifyMediaRef src
904− newposter <- modifyMediaRef opts poster
902+ newposter <- modifyMediaRef poster
905 let attr' = filter (\(x,_) -> x /= "src" && x /= "poster") attr ++
903 let attr' = filter (\(x,_) -> x /= "src" && x /= "poster") attr ++
906 [("src", newsrc) | not (null newsrc)] ++
904 [("src", newsrc) | not (null newsrc)] ++
907 [("poster", newposter) | not (null newposter)]
905 [("poster", newposter) | not (null newposter)]
908 return $ TagOpen name attr'
906 return $ TagOpen name attr'
909−transformTag _ tag = return tag
907+transformTag tag = return tag
911modifyMediaRef :: PandocMonad m
909modifyMediaRef :: PandocMonad m
913− -> FilePath
910+ => FilePath
914 -> E m FilePath
911 -> E m FilePath
915−modifyMediaRef _ "" = return ""
912+modifyMediaRef "" = return ""
916−modifyMediaRef opts oldsrc = do
913+modifyMediaRef oldsrc = do
917 media <- gets stMediaPaths
914 media <- gets stMediaPaths
918 case lookup oldsrc media of
915 case lookup oldsrc media of
919 Just (n,_) -> return n
916 Just (n,_) -> return n
@@ -932,35 +929,32 @@ modifyMediaRef opts oldsrc = do
932 return oldsrc)
929 return oldsrc)
934transformBlock :: PandocMonad m
931transformBlock :: PandocMonad m
936− -- -> IORef [(FilePath, (FilePath, Maybe Entry))] -- ^ (oldpath, newpath, entry) media
937− -> Block
932+ => Block
938 -> E m Block
933 -> E m Block
939−transformBlock opts (RawBlock fmt raw)
934+transformBlock (RawBlock fmt raw)
940 | fmt == Format "html" = do
935 | fmt == Format "html" = do
941 let tags = parseTags raw
936 let tags = parseTags raw
942− tags' <- mapM (transformTag opts) tags
937+ tags' <- mapM transformTag tags
943 return $ RawBlock fmt (renderTags' tags')
938 return $ RawBlock fmt (renderTags' tags')
944−transformBlock _ b = return b
939+transformBlock b = return b
946transformInline :: PandocMonad m
941transformInline :: PandocMonad m
947 => WriterOptions
942 => WriterOptions
948− -- -> IORef [(FilePath, (FilePath, Maybe Entry))] -- ^ (oldpath, newpath) media
949 -> Inline
943 -> Inline
950 -> E m Inline
944 -> E m Inline
951−transformInline opts (Image attr lab (src,tit)) = do
945+transformInline _opts (Image attr lab (src,tit)) = do
952− newsrc <- modifyMediaRef opts src
946+ newsrc <- modifyMediaRef src
953 return $ Image attr lab ("../" ++ newsrc, tit)
947 return $ Image attr lab ("../" ++ newsrc, tit)
954transformInline opts (x@(Math t m))
948transformInline opts (x@(Math t m))
955 | WebTeX url <- writerHTMLMathMethod opts = do
949 | WebTeX url <- writerHTMLMathMethod opts = do
956− newsrc <- modifyMediaRef opts (url ++ urlEncode m)
950+ newsrc <- modifyMediaRef (url ++ urlEncode m)
957 let mathclass = if t == DisplayMath then "display" else "inline"
951 let mathclass = if t == DisplayMath then "display" else "inline"
958 return $ Span ("",["math",mathclass],[])
952 return $ Span ("",["math",mathclass],[])
959 [Image nullAttr [x] ("../" ++ newsrc, "")]
953 [Image nullAttr [x] ("../" ++ newsrc, "")]
960−transformInline opts (RawInline fmt raw)
954+transformInline _opts (RawInline fmt raw)
961 | fmt == Format "html" = do
955 | fmt == Format "html" = do
962 let tags = parseTags raw
956 let tags = parseTags raw
963− tags' <- mapM (transformTag opts) tags
957+ tags' <- mapM transformTag tags
964 return $ RawInline fmt (renderTags' tags')
958 return $ RawInline fmt (renderTags' tags')
965transformInline _ x = return x
959transformInline _ x = return x