diff options
Diffstat (limited to 'src/Text')
-rw-r--r-- | src/Text/Pandoc/Readers/Ipynb.hs | 3 | ||||
-rw-r--r-- | src/Text/Pandoc/Writers/Ipynb.hs | 7 |
2 files changed, 7 insertions, 3 deletions
diff --git a/src/Text/Pandoc/Readers/Ipynb.hs b/src/Text/Pandoc/Readers/Ipynb.hs index a245bdad3..056fa431c 100644 --- a/src/Text/Pandoc/Readers/Ipynb.hs +++ b/src/Text/Pandoc/Readers/Ipynb.hs @@ -79,7 +79,8 @@ cellToBlocks opts lang c = do case cellType c of Ipynb.Markdown -> do Pandoc _ bs <- walk fixImage <$> readMarkdown opts source - return $ B.divWith ("",["cell","markdown"],kvs) + let kvs' = ("source", source) : kvs + return $ B.divWith ("",["cell","markdown"],kvs') $ B.fromList bs Ipynb.Heading lev -> do Pandoc _ bs <- readMarkdown opts diff --git a/src/Text/Pandoc/Writers/Ipynb.hs b/src/Text/Pandoc/Writers/Ipynb.hs index d01d5a7e5..86e2abbdf 100644 --- a/src/Text/Pandoc/Writers/Ipynb.hs +++ b/src/Text/Pandoc/Writers/Ipynb.hs @@ -102,10 +102,13 @@ extractCells _ [] = return [] extractCells opts (Div (_id,classes,kvs) xs : bs) | "cell" `elem` classes , "markdown" `elem` classes = do - let meta = pairsToJSONMeta kvs + let meta = pairsToJSONMeta [(k,v) | (k,v) <- kvs, k /= "source"] (newdoc, attachments) <- runStateT (walkM addAttachment (Pandoc nullMeta xs)) mempty - source <- writeMarkdown opts{ writerTemplate = Nothing } newdoc + source <- case lookup "source" kvs of + Just s -> return s + Nothing -> writeMarkdown opts{ writerTemplate = Nothing } + newdoc (Ipynb.Cell{ cellType = Markdown , cellSource = Source $ breakLines $ T.stripEnd source |