From caeb963447440edb14a67bb02cb6c956232dce63 Mon Sep 17 00:00:00 2001 From: Alexander Krotov Date: Thu, 19 Apr 2018 17:03:21 +0300 Subject: FB2 writer: convert metadata value "abstract" to book annotation --- src/Text/Pandoc/Writers/FB2.hs | 5 ++++- test/Tests/Old.hs | 1 + test/fb2/meta.fb2 | 3 +++ test/fb2/meta.markdown | 7 +++++++ 4 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 test/fb2/meta.fb2 create mode 100644 test/fb2/meta.markdown diff --git a/src/Text/Pandoc/Writers/FB2.hs b/src/Text/Pandoc/Writers/FB2.hs index f0d2cc3af..e1fa7f474 100644 --- a/src/Text/Pandoc/Writers/FB2.hs +++ b/src/Text/Pandoc/Writers/FB2.hs @@ -118,6 +118,9 @@ description meta' = do bt <- booktitle meta' let as = authors meta' dd <- docdate meta' + annotation <- case lookupMeta "abstract" meta' of + Just (MetaBlocks bs) -> (list . el "annotation") <$> cMapM blockToXml bs + _ -> pure mempty let lang = case lookupMeta "lang" meta' of Just (MetaInlines [Str s]) -> [el "lang" $ iso639 s] Just (MetaString s) -> [el "lang" $ iso639 s] @@ -132,7 +135,7 @@ description meta' = do Just (MetaString s) -> coverimage s _ -> return [] return $ el "description" - [ el "title-info" (genre : (bt ++ as ++ dd ++ lang)) + [ el "title-info" (genre : (bt ++ annotation ++ as ++ dd ++ lang)) , el "document-info" (el "program-used" "pandoc" : coverpage) ] diff --git a/test/Tests/Old.hs b/test/Tests/Old.hs index f2b43640b..cfca576da 100644 --- a/test/Tests/Old.hs +++ b/test/Tests/Old.hs @@ -95,6 +95,7 @@ tests = [ testGroup "markdown" , fb2WriterTest "images" [] "fb2/images.markdown" "fb2/images.fb2" , fb2WriterTest "images-embedded" [] "fb2/images-embedded.html" "fb2/images-embedded.fb2" , fb2WriterTest "math" [] "fb2/math.markdown" "fb2/math.fb2" + , fb2WriterTest "meta" [] "fb2/meta.markdown" "fb2/meta.fb2" , fb2WriterTest "tables" [] "tables.native" "tables.fb2" , fb2WriterTest "testsuite" [] "testsuite.native" "writer.fb2" ] diff --git a/test/fb2/meta.fb2 b/test/fb2/meta.fb2 new file mode 100644 index 000000000..04bd5f3c5 --- /dev/null +++ b/test/fb2/meta.fb2 @@ -0,0 +1,3 @@ + +unrecognisedBook title

This is the abstract.

It consists of two paragraphs.
pandoc
<p>Book title</p>
+ diff --git a/test/fb2/meta.markdown b/test/fb2/meta.markdown new file mode 100644 index 000000000..5edad2981 --- /dev/null +++ b/test/fb2/meta.markdown @@ -0,0 +1,7 @@ +--- +title: Book title +abstract: | + This is the abstract. + + It consists of two paragraphs. +--- -- cgit v1.2.3