From 5cff32c5758a4c2842edaf972dece41e8bb77737 Mon Sep 17 00:00:00 2001 From: John MacFarlane Date: Thu, 4 Jan 2024 16:45:02 -0700 Subject: OPML writer: respect `--wrap` options & `--columns` in contents of notes. Closes #9297. --- src/Text/Pandoc/Writers/OPML.hs | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'src/Text') diff --git a/src/Text/Pandoc/Writers/OPML.hs b/src/Text/Pandoc/Writers/OPML.hs index ab8c36c4f..4ee955a2c 100644 --- a/src/Text/Pandoc/Writers/OPML.hs +++ b/src/Text/Pandoc/Writers/OPML.hs @@ -35,9 +35,9 @@ writeOPML opts (Pandoc meta blocks) = do else Nothing meta' = B.setMeta "date" (B.str $ convertDate $ docDate meta) meta metadata <- metaToContext opts - (fmap literal . writeMarkdown def . Pandoc nullMeta) + (fmap literal . writeMarkdown' opts . Pandoc nullMeta) (\ils -> literal . T.stripEnd <$> - writeMarkdown def (Pandoc nullMeta [Plain ils])) + writeMarkdown' opts (Pandoc nullMeta [Plain ils])) meta' let blocks' = makeSections False (Just 1) blocks main <- render colwidth . vcat <$> @@ -49,6 +49,11 @@ writeOPML opts (Pandoc meta blocks) = do Nothing -> main Just tpl -> render colwidth $ renderTemplate tpl context +writeMarkdown' :: PandocMonad m => WriterOptions -> Pandoc -> m Text +writeMarkdown' opts = writeMarkdown def{ writerWrapText = writerWrapText opts + , writerColumns = writerColumns opts + , writerExtensions = pandocExtensions + } writeHtmlInlines :: PandocMonad m => [Inline] -> m Text writeHtmlInlines ils = @@ -71,7 +76,7 @@ blockToOPML opts (Div (_,"section":_,_) (Header _ _ title : xs)) = do htmlIls <- writeHtmlInlines title md <- if null blocks then return mempty - else writeMarkdown def $ Pandoc nullMeta blocks + else writeMarkdown' opts $ Pandoc nullMeta blocks let attrs = ("text", htmlIls) : [("_note", T.stripEnd md) | not (null blocks)] rest' <- vcat <$> mapM (blockToOPML opts) rest -- cgit v1.2.3