@@ -32,6 +32,7 @@ Markdown: <http://daringfireball.net/projects/markdown/>
3232-}
3333module Text.Pandoc.Writers.Markdown (writeMarkdown, writePlain) where
3434import Text.Pandoc.Definition
35+import Text.Pandoc.Builder (deleteMeta)
3536import Text.Pandoc.Generic
3637import Text.Pandoc.Templates (renderTemplate')
3738import Text.Pandoc.Shared
@@ -132,6 +133,7 @@ plainTitleBlock tit auths dat =
132133 dat <> cr
133134
134135yamlMetadataBlock :: Value -> Doc
136+yamlMetadataBlock (Object h) | H.null h = empty
135137yamlMetadataBlock v = "---" $$ (jsonToYaml v) $$ "..."
136138
137139jsonToYaml :: Value -> Doc
@@ -168,6 +170,10 @@ pandocToMarkdown opts (Pandoc meta blocks) = do
168170 (fmap (render colwidth) . blockListToMarkdown opts)
169171 (fmap (render colwidth) . inlineListToMarkdown opts)
170172 meta
173+ topMeta <- metaToJSON opts{ writerVariables = [] }
174+ (fmap (render colwidth) . blockListToMarkdown opts)
175+ (fmap (render colwidth) . inlineListToMarkdown opts)
176+ (deleteMeta "references" meta)
171177 let title' = maybe empty text $ getField "title" metadata
172178 let authors' = maybe [] (map text) $ getField "author" metadata
173179 let date' = maybe empty text $ getField "date" metadata
@@ -175,11 +181,11 @@ pandocToMarkdown opts (Pandoc meta blocks) = do
175181 True | isPlain ->
176182 plainTitleBlock title' authors' date'
177183 | isEnabled Ext_yaml_metadata_block opts ->
178− yamlMetadataBlock metadata
184+ yamlMetadataBlock topMeta
179185 | isEnabled Ext_pandoc_title_block opts ->
180186 pandocTitleBlock title' authors' date'
181187 | isEnabled Ext_mmd_title_block opts ->
182− mmdTitleBlock metadata
188+ mmdTitleBlock topMeta
183189 | otherwise -> empty
184190 False -> empty
185191 let headerBlocks = filter isHeaderBlock blocks