summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJohn MacFarlane <jgm@berkeley.edu>2023-10-03 09:21:02 -0700
committerJohn MacFarlane <jgm@berkeley.edu>2023-10-03 09:22:44 -0700
commitd62e5f33dbc9472f138a4f886f0d16019336326f (patch)
treec82347f9a7c88691cc822509b41250f21adf20bd /src
parent33cdce8f5c2422a69463f6c5c22629fdefc366e0 (diff)
Markdown reader: Don't apply `--default-image-extension` to data URIs.
Closes #9118.
Diffstat (limited to 'src')
-rw-r--r--src/Text/Pandoc/Readers/Markdown.hs12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/Text/Pandoc/Readers/Markdown.hs b/src/Text/Pandoc/Readers/Markdown.hs
index d2aa408a1..731ca07a6 100644
--- a/src/Text/Pandoc/Readers/Markdown.hs
+++ b/src/Text/Pandoc/Readers/Markdown.hs
@@ -2020,11 +2020,13 @@ image = try $ do
wikilink B.imageWith <|>
do (lab,raw) <- reference
defaultExt <- getOption readerDefaultImageExtension
- let constructor attr' src =
- case takeExtension (T.unpack src) of
- "" -> B.imageWith attr' (T.pack $ addExtension (T.unpack src)
- $ T.unpack defaultExt)
- _ -> B.imageWith attr' src
+ let constructor attr' src
+ | "data:" `T.isPrefixOf` src = B.imageWith attr' src -- see #9118
+ | otherwise =
+ case takeExtension (T.unpack src) of
+ "" -> B.imageWith attr' (T.pack $ addExtension (T.unpack src)
+ $ T.unpack defaultExt)
+ _ -> B.imageWith attr' src
regLink constructor lab <|> referenceLink constructor (lab, "!" <> raw)
note :: PandocMonad m => MarkdownParser m (F Inlines)