From 6960b2a4cce65479e15f19369e7c3268d4b8a8a5 Mon Sep 17 00:00:00 2001 From: Nikolay Yakimov Date: Sat, 28 Mar 2015 02:53:33 +0300 Subject: [PATCH] Markdown Reader: Disable meta exts for meta values Disable all metadata block extensions when parsing metadata field values. Issue #2026 --- src/Text/Pandoc/Readers/Markdown.hs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/Text/Pandoc/Readers/Markdown.hs b/src/Text/Pandoc/Readers/Markdown.hs index 55ec256f8e42..bd436da8790d 100644 --- a/src/Text/Pandoc/Readers/Markdown.hs +++ b/src/Text/Pandoc/Readers/Markdown.hs @@ -281,13 +281,18 @@ ignorable t = T.pack "_" `T.isSuffixOf` t toMetaValue :: ReaderOptions -> Text -> MetaValue toMetaValue opts x = - case readMarkdown opts (T.unpack x) of + case readMarkdown opts' (T.unpack x) of Pandoc _ [Plain xs] -> MetaInlines xs Pandoc _ [Para xs] | endsWithNewline x -> MetaBlocks [Para xs] | otherwise -> MetaInlines xs Pandoc _ bs -> MetaBlocks bs where endsWithNewline t = T.pack "\n" `T.isSuffixOf` t + opts' = opts{readerExtensions=readerExtensions opts `Set.difference` meta_exts} + meta_exts = Set.fromList [ Ext_pandoc_title_block + , Ext_mmd_title_block + , Ext_yaml_metadata_block + ] yamlToMeta :: ReaderOptions -> Yaml.Value -> MetaValue yamlToMeta opts (Yaml.String t) = toMetaValue opts t