diff options
Diffstat (limited to 'src/Text/Pandoc/Writers/Markdown.hs')
| -rw-r--r-- | src/Text/Pandoc/Writers/Markdown.hs | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/Text/Pandoc/Writers/Markdown.hs b/src/Text/Pandoc/Writers/Markdown.hs index 80402a757..f6525efde 100644 --- a/src/Text/Pandoc/Writers/Markdown.hs +++ b/src/Text/Pandoc/Writers/Markdown.hs @@ -32,6 +32,7 @@ Markdown: <http://daringfireball.net/projects/markdown/> -} module Text.Pandoc.Writers.Markdown (writeMarkdown, writePlain) where import Text.Pandoc.Definition +import Text.Pandoc.Builder (deleteMeta) import Text.Pandoc.Generic import Text.Pandoc.Templates (renderTemplate') import Text.Pandoc.Shared @@ -132,6 +133,7 @@ plainTitleBlock tit auths dat = dat <> cr yamlMetadataBlock :: Value -> Doc +yamlMetadataBlock (Object h) | H.null h = empty yamlMetadataBlock v = "---" $$ (jsonToYaml v) $$ "..." jsonToYaml :: Value -> Doc @@ -168,6 +170,10 @@ pandocToMarkdown opts (Pandoc meta blocks) = do (fmap (render colwidth) . blockListToMarkdown opts) (fmap (render colwidth) . inlineListToMarkdown opts) meta + topMeta <- metaToJSON opts{ writerVariables = [] } + (fmap (render colwidth) . blockListToMarkdown opts) + (fmap (render colwidth) . inlineListToMarkdown opts) + (deleteMeta "references" meta) let title' = maybe empty text $ getField "title" metadata let authors' = maybe [] (map text) $ getField "author" metadata let date' = maybe empty text $ getField "date" metadata @@ -175,11 +181,11 @@ pandocToMarkdown opts (Pandoc meta blocks) = do True | isPlain -> plainTitleBlock title' authors' date' | isEnabled Ext_yaml_metadata_block opts -> - yamlMetadataBlock metadata + yamlMetadataBlock topMeta | isEnabled Ext_pandoc_title_block opts -> pandocTitleBlock title' authors' date' | isEnabled Ext_mmd_title_block opts -> - mmdTitleBlock metadata + mmdTitleBlock topMeta | otherwise -> empty False -> empty let headerBlocks = filter isHeaderBlock blocks |
