@@ -55,7 +55,7 @@ import Text.Pandoc.UUID
5555import Text.Pandoc.Writers.HTML
5656import Text.Pandoc.Writers.Markdown ( writePlain )
5757import Data.Char ( toLower )
58−import Network.URI ( isAbsoluteURI, unEscapeString )
58+import Network.URI ( unEscapeString )
5959import Text.Pandoc.MIME (getMimeType)
6060#if MIN_VERSION_base(4,6,0)
6161#else
@@ -93,7 +93,6 @@ writeEPUB opts doc@(Pandoc meta _) = do
9393 then MathML Nothing
9494 else writerHTMLMathMethod opts
9595 , writerWrapText = False }
96− let sourceDir = writerSourceDirectory opts'
9796 let mbCoverImage = lookup "epub-cover-image" vars
9897
9998 -- cover page
@@ -117,10 +116,10 @@ writeEPUB opts doc@(Pandoc meta _) = do
117116 -- handle pictures
118117 picsRef <- newIORef []
119118 Pandoc _ blocks <- walkM
120− (transformInline opts' sourceDir picsRef) doc
119+ (transformInline opts' picsRef) doc
121120 pics <- readIORef picsRef
122121 let readPicEntry entries (oldsrc, newsrc) = do
123− res <- fetchItem sourceDir oldsrc
122+ res <- fetchItem (writerSourceURL opts') oldsrc
124123 case res of
125124 Left _ -> do
126125 warn $ "Could not find image `" ++ oldsrc ++ "', skipping..."
@@ -414,19 +413,13 @@ showDateTimeISO8601 :: UTCTime -> String
414413showDateTimeISO8601 = formatTime defaultTimeLocale "%FT%TZ"
415414
416415transformInline :: WriterOptions
417− -> FilePath
418416 -> IORef [(FilePath, FilePath)] -- ^ (oldpath, newpath) images
419417 -> Inline
420418 -> IO Inline
421−transformInline opts sourceDir picsRef (Image lab (src,tit))
422− | isAbsoluteURI src = do
423− raw <- makeSelfContained Nothing
424− $ writeHtmlInline opts (Image lab (src,tit))
425− return $ RawInline (Format "html") raw
426− | otherwise = do
419+transformInline opts picsRef (Image lab (src,tit)) = do
427420 let src' = unEscapeString src
428421 pics <- readIORef picsRef
429− let oldsrc = sourceDir </> src'
422+ let oldsrc = maybe src' (</> src) $ writerSourceURL opts
430423 let ext = takeExtension src'
431424 newsrc <- case lookup oldsrc pics of
432425 Just n -> return n
@@ -435,11 +428,11 @@ transformInline opts sourceDir picsRef (Image lab (src,tit))
435428 modifyIORef picsRef ( (oldsrc, new): )
436429 return new
437430 return $ Image lab (newsrc, tit)
438−transformInline opts _ _ (x@(Math _ _))
431+transformInline opts _ (x@(Math _ _))
439432 | WebTeX _ <- writerHTMLMathMethod opts = do
440433 raw <- makeSelfContained Nothing $ writeHtmlInline opts x
441434 return $ RawInline (Format "html") raw
442−transformInline _ _ _ x = return x
435+transformInline _ _ x = return x
443436
444437writeHtmlInline :: WriterOptions -> Inline -> String
445438writeHtmlInline opts z = trimr $