@@ -38,11 +38,11 @@ import qualified Data.ByteString as BS
38import System.Exit (ExitCode (..))
38import System.Exit (ExitCode (..))
39import System.FilePath
39import System.FilePath
40import System.Directory
40import System.Directory
41+import Data.Digest.Pure.SHA (showDigest, sha1)
41import System.Environment
42import System.Environment
42import Control.Monad (unless)
43import Control.Monad (unless)
43import Data.List (isInfixOf)
44import Data.List (isInfixOf)
44import Data.Maybe (fromMaybe)
45import Data.Maybe (fromMaybe)
45−import qualified Data.ByteString.Base64 as B64
46import qualified Text.Pandoc.UTF8 as UTF8
46import qualified Text.Pandoc.UTF8 as UTF8
47import Text.Pandoc.Definition
47import Text.Pandoc.Definition
48import Text.Pandoc.Walk (walkM)
48import Text.Pandoc.Walk (walkM)
@@ -98,7 +98,7 @@ handleImage' baseURL tmpdir (Image ils (src,tit)) = do
98 Right (contents, Just mime) -> do
98 Right (contents, Just mime) -> do
99 let ext = fromMaybe (takeExtension src) $
99 let ext = fromMaybe (takeExtension src) $
100 extensionFromMimeType mime
100 extensionFromMimeType mime
101− let basename = UTF8.toString $ B64.encode $ UTF8.fromString src
101+ let basename = showDigest $ sha1 $ BL.fromChunks [contents]
102 let fname = tmpdir </> basename <.> ext
102 let fname = tmpdir </> basename <.> ext
103 BS.writeFile fname contents
103 BS.writeFile fname contents
104 return $ Image ils (fname,tit)
104 return $ Image ils (fname,tit)