git.iko.soy/typeable/pandoc
on master help sign in
PDF: make sure that verbosity is respected when we fetch items.
commit2d964dd4eec295085234f1505523af6b3d6d72cd authorJohn MacFarlane <jgm@berkeley.edu> dateThu 23 Feb 2017, 15:06 (10 years ago) parent2bbf98a
1 file changed+19−10
src/Text/Pandoc/PDF.hs+19−10
src/Text/Pandoc/PDF.hs+19−10
@@ -62,7 +62,8 @@ import qualified Codec.Picture as JP
6262#ifdef _WINDOWS
6363import Data.List (intercalate)
6464#endif
65−import Text.Pandoc.Class (PandocIO, runIOorExplode, fetchItem, setMediaBag, runIO)
65+import Text.Pandoc.Class (PandocIO, runIOorExplode, fetchItem,
66+ setVerbosity, setMediaBag, runIO)
6667
6768#ifdef _WINDOWS
6869changePathSeparators :: FilePath -> FilePath
@@ -99,12 +100,16 @@ makePDF "wkhtmltopdf" writer opts verbosity _ doc@(Pandoc meta _) = liftIO $ do
99100 ,("margin-left", fromMaybe (Just "1.25in")
100101 (getField "margin-left" meta'))
101102 ]
102− source <- runIOorExplode $ writer opts doc
103+ source <- runIOorExplode $ do
104+ setVerbosity verbosity
105+ writer opts doc
103106 html2pdf verbosity args source
104107makePDF program writer opts verbosity mediabag doc =
105108 liftIO $ withTempDir "tex2pdf." $ \tmpdir -> do
106− doc' <- handleImages opts mediabag tmpdir doc
107− source <- runIOorExplode $ writer opts doc'
109+ doc' <- handleImages verbosity opts mediabag tmpdir doc
110+ source <- runIOorExplode $ do
111+ setVerbosity verbosity
112+ writer opts doc'
108113 let args = writerLaTeXArgs opts
109114 case takeBaseName program of
110115 "context" -> context2pdf verbosity tmpdir source
@@ -112,25 +117,29 @@ makePDF program writer opts verbosity mediabag doc =
112117 -> tex2pdf' verbosity args tmpdir program source
113118 _ -> return $ Left $ UTF8.fromStringLazy $ "Unknown program " ++ program
114119
115−handleImages :: WriterOptions
120+handleImages :: Verbosity
121+ -> WriterOptions
116122 -> MediaBag
117123 -> FilePath -- ^ temp dir to store images
118124 -> Pandoc -- ^ document
119125 -> IO Pandoc
120−handleImages opts mediabag tmpdir =
121− walkM (convertImages tmpdir) <=< walkM (handleImage' opts mediabag tmpdir)
126+handleImages verbosity opts mediabag tmpdir =
127+ walkM (convertImages tmpdir) <=<
128+ walkM (handleImage' verbosity opts mediabag tmpdir)
122129
123−handleImage' :: WriterOptions
130+handleImage' :: Verbosity
131+ -> WriterOptions
124132 -> MediaBag
125133 -> FilePath
126134 -> Inline
127135 -> IO Inline
128−handleImage' opts mediabag tmpdir (Image attr ils (src,tit)) = do
136+handleImage' verbosity opts mediabag tmpdir (Image attr ils (src,tit)) = do
129137 exists <- doesFileExist src
130138 if exists
131139 then return $ Image attr ils (src,tit)
132140 else do
133141 res <- runIO $ do
142+ setVerbosity verbosity
134143 setMediaBag mediabag
135144 fetchItem (writerSourceURL opts) src
136145 case res of
@@ -145,7 +154,7 @@ handleImage' opts mediabag tmpdir (Image attr ils (src,tit)) = do
145154 warn $ "Could not find image `" ++ src ++ "', skipping..."
146155 -- return alt text
147156 return $ Emph ils
148−handleImage' _ _ _ x = return x
157+handleImage' _ _ _ _ x = return x
149158
150159convertImages :: FilePath -> Inline -> IO Inline
151160convertImages tmpdir (Image attr ils (src, tit)) = do