EPUB writer: Use plain writer for metadata dc: fields.

This gives better results when we have, e.g. multiple paragraphs.
Note that tags aren't allowed in these fields.

Closes #2121.
This commit is contained in:
John MacFarlane 2015-05-01 22:36:38 -07:00
parent 9b2f645e2a
commit f1aaad9e86

View file

@ -57,6 +57,8 @@ import Text.Pandoc.Options ( WriterOptions(..)
, ObfuscationMethod(NoObfuscation) )
import Text.Pandoc.Definition
import Text.Pandoc.Walk (walk, walkM)
import Data.Default
import Text.Pandoc.Writers.Markdown (writePlain)
import Control.Monad.State (modify, get, execState, State, put, evalState)
import Control.Monad (foldM, mplus, liftM, when)
import Text.XML.Light ( unode, Element(..), unqual, Attr(..), add_attrs
@ -226,8 +228,9 @@ addMetadataFromXML _ md = md
metaValueToString :: MetaValue -> String
metaValueToString (MetaString s) = s
metaValueToString (MetaInlines ils) = stringify ils
metaValueToString (MetaBlocks bs) = stringify bs
metaValueToString (MetaInlines ils) = writePlain def
(Pandoc nullMeta [Plain ils])
metaValueToString (MetaBlocks bs) = writePlain def (Pandoc nullMeta bs)
metaValueToString (MetaBool b) = show b
metaValueToString _ = ""