git.iko.soy/typeable/pandoc
on master help sign in
Ipynb: Put all jupyter metadata under 'jupyter' key.
commit2f54470266813866d30a68a75ee98c0de58fcd8d authorJohn MacFarlane <jgm@berkeley.edu> dateThu 24 Jan 2019, 16:51 (8 years ago) parent7167330
2 files changed+7−2
src/Text/Pandoc/Readers/Ipynb.hs+1−1 src/Text/Pandoc/Writers/Ipynb.hs+6−1
src/Text/Pandoc/Readers/Ipynb.hs+1−1
@@ -83,7 +83,7 @@ notebookToPandoc opts notebook = do
8383 _ -> "python"
8484 bs <- mconcat <$> mapM (cellToBlocks opts lang) cells
8585 let Pandoc _ blocks = B.doc bs
86− return $ Pandoc (Meta m) blocks
86+ return $ Pandoc (Meta $ M.insert "jupyter" (MetaMap m) mempty) blocks
8787
8888cellToBlocks :: PandocMonad m
8989 => ReaderOptions -> String -> Cell a -> m B.Blocks
src/Text/Pandoc/Writers/Ipynb.hs+6−1
@@ -77,9 +77,14 @@ pandocToNotebook opts (Pandoc meta blocks) = do
7777 opts{ writerTemplate = Nothing } (Pandoc nullMeta bs)
7878 let inlineWriter ils = T.stripEnd <$> writeMarkdown
7979 opts{ writerTemplate = Nothing } (Pandoc nullMeta [Plain ils])
80+ let jupyterMeta =
81+ case lookupMeta "jupyter" meta of
82+ Just (MetaMap m) -> (Meta m <> B.deleteMeta "jupyter" meta)
83+ _ -> meta
8084 metadata' <- metaToJSON' blockWriter inlineWriter $
8185 B.deleteMeta "nbformat" $
82− B.deleteMeta "nbformat_minor" $ meta
86+ B.deleteMeta "nbformat_minor" $ jupyterMeta
87+ -- convert from a Value (JSON object) to a M.Map Text Value:
8388 let metadata = case fromJSON metadata' of
8489 Error _ -> mempty -- TODO warning here? shouldn't happen
8590 Success x -> x