@@ -156,7 +156,7 @@ handleData metadata (MimeBundle mb) =
158 dataBlock :: PandocMonad m => (MimeType, MimeData) -> m B.Blocks
158 dataBlock :: PandocMonad m => (MimeType, MimeData) -> m B.Blocks
159− dataBlock (mt, BinaryData bs)
159+ dataBlock (mt, d)
160 | "image/" `T.isPrefixOf` mt
160 | "image/" `T.isPrefixOf` mt
162 -- normally metadata maps from mime types to key-value map;
162 -- normally metadata maps from mime types to key-value map;
@@ -168,7 +168,10 @@ handleData metadata (MimeBundle mb) =
168 Error _ -> mempty
168 Error _ -> mempty
169 _ -> mempty
169 _ -> mempty
170 let metaPairs = jsonMetaToPairs meta
170 let metaPairs = jsonMetaToPairs meta
171− let bl = BL.fromStrict bs
172+ BinaryData bs -> BL.fromStrict bs
173+ TextualData t -> BL.fromStrict $ UTF8.fromText t
174+ JsonData v -> encode v
172 -- SHA1 hash for filename
175 -- SHA1 hash for filename
173 let fname = T.pack (showDigest (sha1 bl)) <>
176 let fname = T.pack (showDigest (sha1 bl)) <>
174 case extensionFromMimeType mt of
177 case extensionFromMimeType mt of
@@ -176,7 +179,6 @@ handleData metadata (MimeBundle mb) =
176 Just ext -> "." <> ext
179 Just ext -> "." <> ext
177 insertMedia (T.unpack fname) (Just mt) bl
180 insertMedia (T.unpack fname) (Just mt) bl
178 return $ B.para $ B.imageWith ("",[],metaPairs) fname "" mempty
181 return $ B.para $ B.imageWith ("",[],metaPairs) fname "" mempty
179− | otherwise = return mempty
181 dataBlock ("text/html", TextualData t)
183 dataBlock ("text/html", TextualData t)
182 = return $ B.rawBlock "html" t
184 = return $ B.rawBlock "html" t