From 873f342f1144111f79f9415abd3dc00d44a7a3c6 Mon Sep 17 00:00:00 2001 From: John MacFarlane Date: Sat, 9 Mar 2019 14:17:21 -0800 Subject: Ipynb reader/writer: better handling of cell metadata. We now handle even complex cell metadata in the Div's attributes. Simple metadata fields are rendered as a plain string, and complex ones as JSON. --- src/Text/Pandoc/Writers/Ipynb.hs | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) (limited to 'src/Text/Pandoc/Writers') diff --git a/src/Text/Pandoc/Writers/Ipynb.hs b/src/Text/Pandoc/Writers/Ipynb.hs index 661f585f4..0babf7112 100644 --- a/src/Text/Pandoc/Writers/Ipynb.hs +++ b/src/Text/Pandoc/Writers/Ipynb.hs @@ -213,10 +213,9 @@ extractData bs = do pairsToJSONMeta :: [(String, String)] -> JSONMeta pairsToJSONMeta kvs = - M.fromList [(T.pack k, case v of - "true" -> Bool True - "false" -> Bool False - _ -> case safeRead v of - Just n -> Number n - _ -> String (T.pack v)) - | (k,v) <- kvs , k /= "execution_count" ] + M.fromList [(T.pack k, case Aeson.decode (UTF8.fromStringLazy v) of + Just val -> val + Nothing -> String (T.pack v)) + | (k,v) <- kvs + , k /= "execution_count" + ] -- cgit v1.2.3