diff options
author | Alexander Krotov <ilabdsf@gmail.com> | 2018-06-12 15:32:30 +0300 |
---|---|---|
committer | Alexander Krotov <ilabdsf@gmail.com> | 2018-06-12 15:32:30 +0300 |
commit | b6305a63cd2307b7d80de76bef150cba3d328763 (patch) | |
tree | 9f74192e8bcae9d51b165bf03924d76362cf2a95 | |
parent | 54d16545c970dcb3fefdd16f2f48c6dfaefff727 (diff) | |
download | pandoc-b6305a63cd2307b7d80de76bef150cba3d328763.tar.gz |
FB2 writer: convert Plain to Para in annotation
Address #2424
-rw-r--r-- | src/Text/Pandoc/Writers/FB2.hs | 7 | ||||
-rw-r--r-- | test/fb2/meta.fb2 | 2 |
2 files changed, 7 insertions, 2 deletions
diff --git a/src/Text/Pandoc/Writers/FB2.hs b/src/Text/Pandoc/Writers/FB2.hs index bac3121d9..3227aaed8 100644 --- a/src/Text/Pandoc/Writers/FB2.hs +++ b/src/Text/Pandoc/Writers/FB2.hs @@ -119,7 +119,7 @@ description meta' = do let as = authors meta' dd <- docdate meta' annotation <- case lookupMeta "abstract" meta' of - Just (MetaBlocks bs) -> (list . el "annotation") <$> cMapM blockToXml bs + Just (MetaBlocks bs) -> (list . el "annotation") <$> (cMapM blockToXml $ map unPlain bs) _ -> pure mempty let lang = case lookupMeta "lang" meta' of Just (MetaInlines [Str s]) -> [el "lang" $ iso639 s] @@ -398,6 +398,11 @@ plainToPara (Para inlines : rest) = Para inlines : HorizontalRule : plainToPara rest -- HorizontalRule will be converted to <empty-line /> plainToPara (p:rest) = p : plainToPara rest +-- Replace plain text with paragraphs +unPlain :: Block -> Block +unPlain (Plain inlines) = Para inlines +unPlain x = x + -- Simulate increased indentation level. Will not really work -- for multi-line paragraphs. indentPrefix :: String -> Block -> Block diff --git a/test/fb2/meta.fb2 b/test/fb2/meta.fb2 index 04bd5f3c5..1db48c068 100644 --- a/test/fb2/meta.fb2 +++ b/test/fb2/meta.fb2 @@ -1,3 +1,3 @@ <?xml version="1.0" encoding="UTF-8"?> -<FictionBook xmlns="http://www.gribuser.ru/xml/fictionbook/2.0" xmlns:l="http://www.w3.org/1999/xlink"><description><title-info><genre>unrecognised</genre><book-title>Book title</book-title><annotation><p>This is the abstract.</p>It consists of two paragraphs.</annotation></title-info><document-info><program-used>pandoc</program-used></document-info></description><body><title><p>Book title</p></title></body></FictionBook> +<FictionBook xmlns="http://www.gribuser.ru/xml/fictionbook/2.0" xmlns:l="http://www.w3.org/1999/xlink"><description><title-info><genre>unrecognised</genre><book-title>Book title</book-title><annotation><p>This is the abstract.</p><p>It consists of two paragraphs.</p></annotation></title-info><document-info><program-used>pandoc</program-used></document-info></description><body><title><p>Book title</p></title></body></FictionBook> |