diff options
-rw-r--r-- | src/Text/Pandoc/Biblio.hs | 2 | ||||
-rw-r--r-- | src/Text/Pandoc/Writers/Markdown.hs | 14 |
2 files changed, 13 insertions, 3 deletions
diff --git a/src/Text/Pandoc/Biblio.hs b/src/Text/Pandoc/Biblio.hs index 4dd82dd08..4116e3cbd 100644 --- a/src/Text/Pandoc/Biblio.hs +++ b/src/Text/Pandoc/Biblio.hs @@ -54,7 +54,7 @@ processBiblio (Just style) r p = cits_map = M.fromList $ zip grps (citations result) biblioList = map (renderPandoc' style) (bibliography result) Pandoc m b = bottomUp mvPunct . deNote . bottomUp (processCite style cits_map) $ p' - in Pandoc m $ b ++ biblioList + in Pandoc m $ b ++ (RawBlock "pandoc" "references" : biblioList) -- | Substitute 'Cite' elements with formatted citations. processCite :: Style -> M.Map [Citation] [FormattedOutput] -> Inline -> Inline diff --git a/src/Text/Pandoc/Writers/Markdown.hs b/src/Text/Pandoc/Writers/Markdown.hs index b496c8011..bfd4c0898 100644 --- a/src/Text/Pandoc/Writers/Markdown.hs +++ b/src/Text/Pandoc/Writers/Markdown.hs @@ -61,7 +61,8 @@ writeMarkdown opts document = evalState (pandocToMarkdown opts{ writerWrapText = writerWrapText opts && not (isEnabled Ext_hard_line_breaks opts) } - document) def + document') def + where document' = maybeRemoveBiblio opts document -- | Convert Pandoc to plain text (like markdown, but without links, -- pictures, or inline formatting). @@ -71,7 +72,16 @@ writePlain opts document = writerExtensions = Set.delete Ext_escaped_line_breaks $ writerExtensions opts } document') def{ stPlain = True } - where document' = plainify document + where document' = plainify $ maybeRemoveBiblio opts document + +-- If we're rendering citations as pandoc markdown citations, +-- then we don't want to include a bibliography. +maybeRemoveBiblio :: WriterOptions -> Pandoc -> Pandoc +maybeRemoveBiblio opts (Pandoc meta bs) = Pandoc meta bs' + where bs' = if isEnabled Ext_citations opts + then takeWhile + (/= RawBlock "pandoc" "references") bs + else bs plainify :: Pandoc -> Pandoc plainify = bottomUp go |