aboutsummaryrefslogtreecommitdiff
path: root/src/Text/Pandoc/Writers
diff options
context:
space:
mode:
authorJohn MacFarlane <jgm@berkeley.edu>2017-02-25 23:42:56 +0100
committerJohn MacFarlane <jgm@berkeley.edu>2017-02-25 23:42:56 +0100
commit124551461cb9bc46e4387dbcd8ac4ebf3eae6d22 (patch)
tree8020180917b973f400adb23f531d48a8d4e0efe3 /src/Text/Pandoc/Writers
parent699d289cc5913c3cb0ec7b1b3d7ae767cbe55339 (diff)
downloadpandoc-124551461cb9bc46e4387dbcd8ac4ebf3eae6d22.tar.gz
Fixed addVariablesToJSON.
It was previously not allowing multiple values to become lists.
Diffstat (limited to 'src/Text/Pandoc/Writers')
-rw-r--r--src/Text/Pandoc/Writers/Shared.hs7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/Text/Pandoc/Writers/Shared.hs b/src/Text/Pandoc/Writers/Shared.hs
index a9431a920..991ce5437 100644
--- a/src/Text/Pandoc/Writers/Shared.hs
+++ b/src/Text/Pandoc/Writers/Shared.hs
@@ -89,9 +89,12 @@ metaToJSON' blockWriter inlineWriter (Meta metamap) = do
-- of the original JSON object itself, prior to addition of variables.
addVariablesToJSON :: WriterOptions -> Value -> Value
addVariablesToJSON opts metadata =
- foldl (\acc (x,y) -> resetField x y acc)
- (defField "meta-json" (toStringLazy $ encode metadata) metadata)
+ foldl (\acc (x,y) -> setField x y acc)
+ (defField "meta-json" (toStringLazy $ encode metadata) (Object mempty))
(writerVariables opts)
+ `combineMetadata` metadata
+ where combineMetadata (Object o1) (Object o2) = Object $ H.union o1 o2
+ combineMetadata x _ = x
metaValueToJSON :: Monad m
=> ([Block] -> m String)