diff options
| author | John MacFarlane <[email protected]> | 2026-01-15 10:55:58 +0100 |
|---|---|---|
| committer | John MacFarlane <[email protected]> | 2026-01-15 10:55:58 +0100 |
| commit | cb6f5a3b370babe6083937362e0e8ddfa51d124c (patch) | |
| tree | 72f071ed17c574811b4b7756178fd031f94f0c23 | |
| parent | 9219a313e986c43eabcfb12c78a900c4439a9937 (diff) | |
DocBook/JATS reader: don't export surrounding space from inline elements.
Previously we would export leading and trailing space inside
elements like emphasis or ulink so they appeared outside the
resulting pandoc Inline (Emph or Link). This is not really
motivated; DocBook and XML in general treats leading and trailing
whitespace in this context as significant.
These spaces may casue problems for some output formats, e.g.
asciidoc, but these issues should be addressed in the
corresponding writers, as they are in the Markdown writer,
using Text.Pandoc.Writers.Shared.delimited.
Closes #11398.
| -rw-r--r-- | src/Text/Pandoc/Readers/DocBook.hs | 5 | ||||
| -rw-r--r-- | src/Text/Pandoc/Readers/JATS.hs | 5 | ||||
| -rw-r--r-- | test/command/6719.md | 4 |
3 files changed, 6 insertions, 8 deletions
diff --git a/src/Text/Pandoc/Readers/DocBook.hs b/src/Text/Pandoc/Readers/DocBook.hs index c5de8b74f..321128b10 100644 --- a/src/Text/Pandoc/Readers/DocBook.hs +++ b/src/Text/Pandoc/Readers/DocBook.hs @@ -46,7 +46,7 @@ import Text.Pandoc.Builder import Text.Pandoc.Class.PandocMonad (PandocMonad, report) import Text.Pandoc.Options import Text.Pandoc.Logging (LogMessage(..)) -import Text.Pandoc.Shared (safeRead, extractSpaces, addPandocAttributes) +import Text.Pandoc.Shared (safeRead, addPandocAttributes) import Text.Pandoc.Sources (ToSources(..), sourcesToText) import Text.Pandoc.Transforms (headerShift) import Text.TeXMath (readMathML, writeTeX) @@ -1380,8 +1380,7 @@ parseInline (Elem e) = do lift $ report $ IgnoredElement name return mempty - innerInlines f = extractSpaces f . mconcat <$> - mapM parseInline (elContent e) + innerInlines f = f . mconcat <$> mapM parseInline (elContent e) codeWithLang = do let classes' = case attrValue "language" e of "" -> [] diff --git a/src/Text/Pandoc/Readers/JATS.hs b/src/Text/Pandoc/Readers/JATS.hs index a1ea1d918..ddfce48f1 100644 --- a/src/Text/Pandoc/Readers/JATS.hs +++ b/src/Text/Pandoc/Readers/JATS.hs @@ -31,7 +31,7 @@ import Text.Pandoc.XML (lookupEntity) import Text.Pandoc.Builder import Text.Pandoc.Class.PandocMonad (PandocMonad) import Text.Pandoc.Options -import Text.Pandoc.Shared (safeRead, extractSpaces) +import Text.Pandoc.Shared (safeRead) import Text.Pandoc.Walk (walk) import Text.Pandoc.XML.Light import Text.TeXMath (readMathML, writeTeX) @@ -733,8 +733,7 @@ parseInline (Elem e) = "fn" -> note . mconcat <$> mapM parseBlock (elContent e) _ -> innerInlines id - where innerInlines f = extractSpaces f . mconcat <$> - mapM parseInline (elContent e) + where innerInlines f = f . mconcat <$> mapM parseInline (elContent e) codeWithLang = do let classes' = case attrValue "language" e of "" -> [] diff --git a/test/command/6719.md b/test/command/6719.md index 23701c066..5be3bce93 100644 --- a/test/command/6719.md +++ b/test/command/6719.md @@ -4,7 +4,7 @@ <emphasis>emphasized </emphasis>text </para> ^D -[ Para [ Emph [ Str "emphasized" ] , Space , Str "text" ] ] +[ Para [ Emph [ Str "emphasized" , Space ] , Str "text" ] ] ``` ``` @@ -13,6 +13,6 @@ <italic> hi </italic>there </p> ^D -[ Para [ Emph [ Str "hi" ] , Space , Str "there" ] ] +[ Para [ Emph [ Space , Str "hi" , Space ] , Str "there" ] ] ``` |
