diff options
Diffstat (limited to 'src/Text/Pandoc/Readers')
-rw-r--r-- | src/Text/Pandoc/Readers/Markdown.hs | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/Text/Pandoc/Readers/Markdown.hs b/src/Text/Pandoc/Readers/Markdown.hs index a880c09de..251554de1 100644 --- a/src/Text/Pandoc/Readers/Markdown.hs +++ b/src/Text/Pandoc/Readers/Markdown.hs @@ -231,7 +231,9 @@ yamlTitleBlock = try $ do pos <- getPosition string "---" blankline - rawYaml <- unlines <$> manyTill anyLine stopLine + rawYamlLines <- manyTill anyLine stopLine + -- by including --- and ..., we allow yaml blocks with just comments: + let rawYaml = unlines ("---" : (rawYamlLines ++ ["..."])) optional blanklines opts <- stateOptions <$> getState case Yaml.decodeEither' $ UTF8.fromString rawYaml of @@ -241,6 +243,7 @@ yamlTitleBlock = try $ do then f else B.setMeta (T.unpack k) (yamlToMeta opts v) . f) id hashmap + Right Yaml.Null -> return $ return id Right _ -> do addWarning (Just pos) "YAML header is not an object" return $ return id |