@@ -62,10 +62,10 @@ import Text.Pandoc.XML (escapeStringForXML)
6262-- Variables overwrite metadata fields with the same names.
6363-- If multiple variables are set with the same name, a list is
6464-- assigned. Does nothing if 'writerTemplate' is Nothing.
65−metaToJSON :: (Functor m, Monad m)
65+metaToJSON :: (Functor m, Monad m, ToJSON a)
6666 => WriterOptions
67− -> ([Block] -> m String)
68− -> ([Inline] -> m String)
67+ -> ([Block] -> m a)
68+ -> ([Inline] -> m a)
6969 -> Meta
7070 -> m Value
7171metaToJSON opts blockWriter inlineWriter meta
@@ -75,9 +75,9 @@ metaToJSON opts blockWriter inlineWriter meta
7575
7676-- | Like 'metaToJSON', but does not include variables and is
7777-- not sensitive to 'writerTemplate'.
78−metaToJSON' :: Monad m
79− => ([Block] -> m String)
80− -> ([Inline] -> m String)
78+metaToJSON' :: (Monad m, ToJSON a)
79+ => ([Block] -> m a)
80+ -> ([Inline] -> m a)
8181 -> Meta
8282 -> m Value
8383metaToJSON' blockWriter inlineWriter (Meta metamap) = do
@@ -98,9 +98,9 @@ addVariablesToJSON opts metadata =
9898 where combineMetadata (Object o1) (Object o2) = Object $ H.union o1 o2
9999 combineMetadata x _ = x
100100
101−metaValueToJSON :: Monad m
102− => ([Block] -> m String)
103− -> ([Inline] -> m String)
101+metaValueToJSON :: (Monad m, ToJSON a)
102+ => ([Block] -> m a)
103+ -> ([Inline] -> m a)
104104 -> MetaValue
105105 -> m Value
106106metaValueToJSON blockWriter inlineWriter (MetaMap metamap) = liftM toJSON $