diff options
| author | Albert Krewinkel <[email protected]> | 2025-07-25 07:49:13 +0200 |
|---|---|---|
| committer | Albert Krewinkel <[email protected]> | 2025-07-25 07:53:57 +0200 |
| commit | 37b446a54ca05bc05437944bbe24f12fc92641b4 (patch) | |
| tree | c516bd5b0f25e447e0218d7978052472245e3f5b | |
| parent | 270fbd54f89d3c55b4a8dd88748b235719eb139e (diff) | |
T.P.PDF: clean up `makePDF`
| -rw-r--r-- | src/Text/Pandoc/PDF.hs | 25 |
1 files changed, 12 insertions, 13 deletions
diff --git a/src/Text/Pandoc/PDF.hs b/src/Text/Pandoc/PDF.hs index 0e198b0bb..715be0e84 100644 --- a/src/Text/Pandoc/PDF.hs +++ b/src/Text/Pandoc/PDF.hs @@ -94,14 +94,13 @@ makePDF program pdfargs writer opts doc = withTempDir (program == "typst") "medi disableExtension Ext_smart (writerExtensions opts) } doc' verbosity <- getVerbosity + let compileHTML mkOutArgs = liftIO $ + toPdfViaTempFile verbosity program pdfargs mkOutArgs ".html" source case takeBaseName program of "wkhtmltopdf" -> makeWithWkhtmltopdf program pdfargs writer opts doc - prog | prog `elem` ["pagedjs-cli" ,"weasyprint", "prince"] -> do - let mkOutArgs f = - if program `elem` ["pagedjs-cli", "prince"] - then ["-o", f] - else [f] - liftIO $ toPdfViaTempFile verbosity program pdfargs mkOutArgs ".html" source + "pagedjs-cli" -> compileHTML (\f -> ["-o", f]) + "prince" -> compileHTML (\f -> ["-o", f]) + "weasyprint" -> compileHTML (:[]) "typst" -> liftIO $ toPdfViaTempFile verbosity program ("compile":pdfargs) (:[]) ".typ" source "pdfroff" -> do @@ -130,13 +129,13 @@ makePDF program pdfargs writer opts doc = withTempDir (program == "typst") "medi ["-U" | ".PDFPIC" `T.isInfixOf` source] ++ paperargs ++ pdfargs generic2pdf program args source - baseProg -> - case baseProg of - "context" -> context2pdf program pdfargs tmpdir source - "tectonic" -> tectonic2pdf program pdfargs tmpdir source - prog | prog `elem` ["pdflatex", "lualatex", "xelatex", "latexmk"] - -> tex2pdf program pdfargs tmpdir source - _ -> return $ Left $ UTF8.fromStringLazy $ "Unknown program " ++ program + "context" -> context2pdf program pdfargs tmpdir source + "tectonic" -> tectonic2pdf program pdfargs tmpdir source + "latexmk" -> tex2pdf program pdfargs tmpdir source + "lualatex" -> tex2pdf program pdfargs tmpdir source + "pdflatex" -> tex2pdf program pdfargs tmpdir source + "xelatex" -> tex2pdf program pdfargs tmpdir source + _ -> return $ Left $ UTF8.fromStringLazy $ "Unknown program " ++ program -- latex has trouble with tildes in paths, which -- you find in Windows temp dir paths with longer |
