aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlbert Krewinkel <[email protected]>2022-01-01 13:35:18 +0100
committerAlbert Krewinkel <[email protected]>2022-01-01 13:44:14 +0100
commiteae9be3a484b7046a9d8ca4eeca990b6a3719b0c (patch)
treef2bf494481e1a215424ded2f1ef427fb8aed3eca
parente58a5ceed8bb629efbfd670bf162b65b7853ab7f (diff)
Org reader: allow trailing spaces after key/value pairs in directives
Ensures that spaces at the end of attribute directives like `#+ATTR_HTML: :width 100%` (note the trailing spaces) are accepted.
-rw-r--r--src/Text/Pandoc/Readers/Org/Blocks.hs5
-rw-r--r--test/Tests/Readers/Org/Inline.hs8
2 files changed, 10 insertions, 3 deletions
diff --git a/src/Text/Pandoc/Readers/Org/Blocks.hs b/src/Text/Pandoc/Readers/Org/Blocks.hs
index 9a689b0e8..9fe68aa4c 100644
--- a/src/Text/Pandoc/Readers/Org/Blocks.hs
+++ b/src/Text/Pandoc/Readers/Org/Blocks.hs
@@ -167,9 +167,8 @@ keyValues = try $
value = skipSpaces *> manyTillChar anyChar endOfValue
endOfValue :: Monad m => OrgParser m ()
- endOfValue =
- lookAhead $ (() <$ try (many1 spaceChar <* key))
- <|> () <$ newline
+ endOfValue = lookAhead (void $ try (many1 spaceChar <* key))
+ <|> try (skipSpaces <* lookAhead newline)
--
diff --git a/test/Tests/Readers/Org/Inline.hs b/test/Tests/Readers/Org/Inline.hs
index 111d74879..3b7dcac72 100644
--- a/test/Tests/Readers/Org/Inline.hs
+++ b/test/Tests/Readers/Org/Inline.hs
@@ -213,6 +213,14 @@ tests =
] =?>
para (imageWith ("", [], [("width", "50%")]) "guinea-pig.gif" "" "")
+ , "HTML attributes can have trailing spaces" =:
+ T.unlines [ "#+attr_html: :width 100% :height 360px "
+ , "[[file:fireworks.jpg]]"
+ ] =?>
+ let kv = [("width", "100%"), ("height", "360px")]
+ in para (imageWith (mempty, mempty, kv) "fireworks.jpg" mempty mempty)
+
+
, "Uppercase extension" =:
"[[file:test.PNG]]" =?>
para (image "test.PNG" "" "")