@@ -247,3 +247,13 @@ instance (Data a) => ToJsonFilter (a -> a) where
247247instance (Data a) => ToJsonFilter (a -> IO a) where
248248 toJsonFilter f = getContents >>= (bottomUpM f :: Pandoc -> IO Pandoc) . decodeJSON
249249 >>= putStr . encodeJSON
250+
251+instance (Data a) => ToJsonFilter (a -> [a]) where
252+ toJsonFilter f = getContents
253+ >>= putStr . encodeJSON . (bottomUp (concatMap f) :: Pandoc -> Pandoc) . decodeJSON
254+
255+instance (Data a) => ToJsonFilter (a -> IO [a]) where
256+ toJsonFilter f = getContents
257+ >>= (bottomUpM (fmap concat . mapM f) :: Pandoc -> IO Pandoc) . decodeJSON
258+ >>= putStr . encodeJSON
259+