diff options
author | John MacFarlane <jgm@berkeley.edu> | 2017-11-11 10:17:53 -0500 |
---|---|---|
committer | John MacFarlane <jgm@berkeley.edu> | 2017-11-11 10:17:53 -0500 |
commit | fb5ba1bb00a0d328db568952925f543b2bd8b584 (patch) | |
tree | 55d10d99dcad401cb301d994801b862fc7852e34 | |
parent | f501ad031d4afb653d00c2a88856c903ed87d9b5 (diff) | |
download | pandoc-fb5ba1bb00a0d328db568952925f543b2bd8b584.tar.gz |
Fixed YAML metadata with "chomp" (`|-`).
Previously if a YAML block under `|-` contained
a blank line, pandoc would not parse it as metadata.
-rw-r--r-- | src/Text/Pandoc/Readers/Markdown.hs | 4 | ||||
-rw-r--r-- | test/command/yaml-with-chomp.md | 12 |
2 files changed, 14 insertions, 2 deletions
diff --git a/src/Text/Pandoc/Readers/Markdown.hs b/src/Text/Pandoc/Readers/Markdown.hs index 8977517c1..a94c85c32 100644 --- a/src/Text/Pandoc/Readers/Markdown.hs +++ b/src/Text/Pandoc/Readers/Markdown.hs @@ -290,8 +290,8 @@ toMetaValue :: PandocMonad m toMetaValue x = parseFromString' parser' (T.unpack x) where parser' = (asInlines <$> ((trimInlinesF . mconcat) - <$> (guard (not endsWithNewline) - *> manyTill inline eof))) + <$> try (guard (not endsWithNewline) + *> manyTill inline eof))) <|> (asBlocks <$> parseBlocks) asBlocks p = do p' <- p diff --git a/test/command/yaml-with-chomp.md b/test/command/yaml-with-chomp.md new file mode 100644 index 000000000..d4c4f7cfd --- /dev/null +++ b/test/command/yaml-with-chomp.md @@ -0,0 +1,12 @@ +``` +% pandoc -s -t native +--- +ml: |- + TEST + + BLOCK +... +^D +Pandoc (Meta {unMeta = fromList [("ml",MetaBlocks [Para [Str "TEST"],Plain [Str "BLOCK"]])]}) +[] +``` |