git.iko.soy/typeable/pandoc
on master help sign in
Revert "Ipnyb: allow lossless round-tripping of markdown cell content."

This reverts commit efbc2050315b60c8a753dee6255465f1083019ab.

commit17125ead83906125af35dddf7af43f8fe97bc034 authorJohn MacFarlane <jgm@berkeley.edu> dateThu 2 Jul 2020, 09:03 (6 years ago) parenta1e00b6
3 files changed+6−10
src/Text/Pandoc/Readers/Ipynb.hs+1−2 src/Text/Pandoc/Writers/Ipynb.hs+2−5 test/ipynb/simple.out.native+3−3
src/Text/Pandoc/Readers/Ipynb.hs+1−2
@@ -79,8 +79,7 @@ cellToBlocks opts lang c = do
7979 case cellType c of
8080 Ipynb.Markdown -> do
8181 Pandoc _ bs <- walk fixImage <$> readMarkdown opts source
82− let kvs' = ("source", source) : kvs
83− return $ B.divWith ("",["cell","markdown"],kvs')
82+ return $ B.divWith ("",["cell","markdown"],kvs)
8483 $ B.fromList bs
8584 Ipynb.Heading lev -> do
8685 Pandoc _ bs <- readMarkdown opts
src/Text/Pandoc/Writers/Ipynb.hs+2−5
@@ -102,13 +102,10 @@ extractCells _ [] = return []
102102extractCells opts (Div (_id,classes,kvs) xs : bs)
103103 | "cell" `elem` classes
104104 , "markdown" `elem` classes = do
105− let meta = pairsToJSONMeta [(k,v) | (k,v) <- kvs, k /= "source"]
105+ let meta = pairsToJSONMeta kvs
106106 (newdoc, attachments) <-
107107 runStateT (walkM addAttachment (Pandoc nullMeta xs)) mempty
108− source <- case lookup "source" kvs of
109− Just s -> return s
110− Nothing -> writeMarkdown opts{ writerTemplate = Nothing }
111− newdoc
108+ source <- writeMarkdown opts{ writerTemplate = Nothing } newdoc
112109 (Ipynb.Cell{
113110 cellType = Markdown
114111 , cellSource = Source $ breakLines $ T.stripEnd source
test/ipynb/simple.out.native+3−3
@@ -1,15 +1,15 @@
11Pandoc (Meta {unMeta = fromList [("jupyter",MetaMap (fromList [("nbformat",MetaString "4"),("nbformat_minor",MetaString "5")]))]})
2−[Div ("",["cell","markdown"],[("source","Lorem ipsum\n===========\n\n**Lorem ipsum** dolor sit amet, consectetur adipiscing elit. Nunc luctus\nbibendum felis dictum sodales.")])
2+[Div ("",["cell","markdown"],[])
33 [Header 1 ("lorem-ipsum",[],[]) [Str "Lorem",Space,Str "ipsum"]
44 ,Para [Strong [Str "Lorem",Space,Str "ipsum"],Space,Str "dolor",Space,Str "sit",Space,Str "amet,",Space,Str "consectetur",Space,Str "adipiscing",Space,Str "elit.",Space,Str "Nunc",Space,Str "luctus",SoftBreak,Str "bibendum",Space,Str "felis",Space,Str "dictum",Space,Str "sodales."]]
55,Div ("",["cell","code"],[])
66 [CodeBlock ("",["python"],[]) "print(\"hello\")"]
7−,Div ("",["cell","markdown"],[("source","Pyout\n-----")])
7+,Div ("",["cell","markdown"],[])
88 [Header 2 ("pyout",[],[]) [Str "Pyout"]]
99,Div ("",["cell","code"],[("execution_count","2")])
1010 [CodeBlock ("",["python"],[]) "from IPython.display import HTML\nHTML(\"\"\"\n<script>\nconsole.log(\"hello\");\n</script>\n<b>HTML</b>\n\"\"\")"
1111 ,Div ("",["output","execute_result"],[("execution_count","2")])
1212 [RawBlock (Format "html") "<script>\nconsole.log(\"hello\");\n</script>\n<b>HTML</b>\nhello"]]
13−,Div ("",["cell","markdown"],[("source","Image\n-----\n\nThis image ![the moon](attachment:lalune.jpg) will be included as a cell\nattachment."),("tags","[\"foo\",\"bar\"]")])
13+,Div ("",["cell","markdown"],[("tags","[\"foo\",\"bar\"]")])
1414 [Header 2 ("image",[],[]) [Str "Image"]
1515 ,Para [Str "This",Space,Str "image",Space,Image ("",[],[]) [Str "the",Space,Str "moon"] ("lalune.jpg",""),Space,Str "will",Space,Str "be",Space,Str "included",Space,Str "as",Space,Str "a",Space,Str "cell",SoftBreak,Str "attachment."]]]