git.iko.soy/typeable/pandoc
on master help sign in
Emit warning on `-f latex -o out.pdf` (#5736)

add UnusualConversion to LogMessage [API change]

commitd96a5629bc7a8f4c711ffdb7299dfe8a9a041216 authorMauro Bieg <mb21@users.noreply.github.com> dateMon 9 Sep 2019, 01:03 (7 years ago) parentf0577fe
2 files changed+14
src/Text/Pandoc/App.hs+8 src/Text/Pandoc/Logging.hs+6
src/Text/Pandoc/App.hs+8
@@ -147,6 +147,14 @@ convertWithOpts opts = do
147147
148148 let pdfOutput = map toLower (takeExtension outputFile) == ".pdf"
149149
150+ when (pdfOutput && readerName == "latex") $
151+ case (optInputFiles opts) of
152+ (inputFile:_) -> report $ UnusualConversion $
153+ "to convert a .tex file to PDF, you get better results by using pdflatex "
154+ <> "(or lualatex or xelatex) directly, try `pdflatex " <> inputFile
155+ <> "` instead of `pandoc " <> inputFile <> " -o " <> outputFile <> "`."
156+ _ -> return ()
157+
150158 (reader, readerExts) <-
151159 case getReader readerName of
152160 Right (r, es) -> return (r :: Reader PandocIO, es)
src/Text/Pandoc/Logging.hs+6
@@ -86,6 +86,7 @@ data LogMessage =
8686 | Deprecated String String
8787 | NoTranslation String
8888 | CouldNotLoadTranslations String String
89+ | UnusualConversion String
8990 | UnexpectedXmlElement String String
9091 | UnknownOrgExportOption String
9192 | UnknownExtensions [String] String
@@ -203,6 +204,8 @@ instance ToJSON LogMessage where
203204 CouldNotLoadTranslations lang msg ->
204205 ["lang" .= Text.pack lang,
205206 "message" .= Text.pack msg]
207+ UnusualConversion msg ->
208+ ["message" .= Text.pack msg]
206209 UnexpectedXmlElement element parent ->
207210 ["element" .= Text.pack element,
208211 "parent" .= Text.pack parent]
@@ -310,6 +313,8 @@ showLogMessage msg =
310313 CouldNotLoadTranslations lang m ->
311314 "Could not load translations for " ++ lang ++
312315 if null m then "" else '\n' : m
316+ UnusualConversion m ->
317+ "Unusual conversion: " ++ m
313318 UnexpectedXmlElement element parent ->
314319 "Unexpected XML element " ++ element ++ " in " ++ parent
315320 UnknownOrgExportOption option ->
@@ -357,6 +362,7 @@ messageVerbosity msg =
357362 Deprecated{} -> WARNING
358363 NoTranslation{} -> WARNING
359364 CouldNotLoadTranslations{} -> WARNING
365+ UnusualConversion {} -> WARNING
360366 UnexpectedXmlElement {} -> WARNING
361367 UnknownOrgExportOption {} -> WARNING
362368 UnknownExtensions{} -> WARNING