git.iko.soy/typeable/pandoc
on master help sign in
PDF writer: Fixed treatment of data uris for images.
9cf5f74John MacFarlane
pandoc.cabal+2−1
@@ -237,7 +237,8 @@ Library
237 scientific >= 0.2 && < 0.4,
237 scientific >= 0.2 && < 0.4,
238 vector >= 0.10 && < 0.11,
238 vector >= 0.10 && < 0.11,
239 hslua >= 0.3 && < 0.4,
239 hslua >= 0.3 && < 0.4,
240− binary >= 0.5 && < 0.8
240+ binary >= 0.5 && < 0.8,
241+ SHA >= 1.6 && < 1.7
241 Build-Tools: alex, happy
242 Build-Tools: alex, happy
242 if flag(https)
243 if flag(https)
243 Build-Depends: http-client >= 0.3.2 && < 0.4,
244 Build-Depends: http-client >= 0.3.2 && < 0.4,
src/Text/Pandoc/PDF.hs+2−2
@@ -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)