Skip to content

Commit d6edb57

Browse files
committed
Text.Pandoc.PDF: fix temp file extension in toPdfViaTempFile.
We used to set this to `.html`, but this seemed inappropriate once we started using this function for `--pdf-engine=typst`. So we changed it in pandoc 3.6 to `.source`. But apparently `wkhtmltopdf` needs it to be `.html`. So now we have added a parameter to `toPdfViaTempFile` that allows the extension to be specified. Closes #10468.
1 parent 7d1962b commit d6edb57

File tree

1 file changed

+6
-5
lines changed

1 file changed

+6
-5
lines changed

src/Text/Pandoc/PDF.hs

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -91,12 +91,12 @@ makePDF program pdfargs writer opts doc =
9191
else [f]
9292
source <- writer opts doc
9393
verbosity <- getVerbosity
94-
liftIO $ toPdfViaTempFile verbosity program pdfargs mkOutArgs source
94+
liftIO $ toPdfViaTempFile verbosity program pdfargs mkOutArgs ".html" source
9595
"typst" -> do
9696
source <- writer opts doc
9797
verbosity <- getVerbosity
9898
liftIO $
99-
toPdfViaTempFile verbosity program ("compile":pdfargs) (:[]) source
99+
toPdfViaTempFile verbosity program ("compile":pdfargs) (:[]) ".typ" source
100100
"pdfroff" -> do
101101
source <- writer opts doc
102102
let paperargs =
@@ -184,7 +184,7 @@ makeWithWkhtmltopdf program pdfargs writer opts doc@(Pandoc meta _) = do
184184
-- see #6474
185185
source <- writer opts doc
186186
verbosity <- getVerbosity
187-
liftIO $ toPdfViaTempFile verbosity program args (:[]) source
187+
liftIO $ toPdfViaTempFile verbosity program args (:[]) ".html" source
188188

189189
handleImages :: (PandocMonad m, MonadIO m)
190190
=> WriterOptions
@@ -469,10 +469,11 @@ toPdfViaTempFile ::
469469
-> String -- ^ Program (program name or path)
470470
-> [String] -- ^ Args to program
471471
-> (String -> [String]) -- ^ Construct args for output file
472+
-> String -- ^ extension to use for input file (e.g. '.html')
472473
-> Text -- ^ Source
473474
-> IO (Either ByteString ByteString)
474-
toPdfViaTempFile verbosity program args mkOutArgs source =
475-
withTempFile "." "toPdfViaTempFile.source" $ \file h1 ->
475+
toPdfViaTempFile verbosity program args mkOutArgs extension source =
476+
withTempFile "." ("toPdfViaTempFile" <> extension) $ \file h1 ->
476477
withTempFile "." "toPdfViaTempFile.pdf" $ \pdfFile h2 -> do
477478
hClose h1
478479
hClose h2

0 commit comments

Comments
 (0)