From 79c82a2550977e391ca60820b6013d23d444bf39 Mon Sep 17 00:00:00 2001 From: John MacFarlane Date: Sat, 30 Mar 2019 09:57:43 -0700 Subject: ipynb reader/writer: use format 'ipynb' for raw cell where no format given. According to nbformat docs, this is supposed to render in every format. We don't do that, but we at least preserve it as a raw block in markdown, so you can round-trip. --- src/Text/Pandoc/Writers/Ipynb.hs | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'src/Text/Pandoc/Writers') diff --git a/src/Text/Pandoc/Writers/Ipynb.hs b/src/Text/Pandoc/Writers/Ipynb.hs index 2a95f669e..4f088f7fc 100644 --- a/src/Text/Pandoc/Writers/Ipynb.hs +++ b/src/Text/Pandoc/Writers/Ipynb.hs @@ -19,6 +19,7 @@ where import Prelude import Control.Monad.State import qualified Data.Map as M +import Data.Char (toLower) import Data.Maybe (catMaybes, fromMaybe) import Text.Pandoc.Options import Text.Pandoc.Definition @@ -136,7 +137,7 @@ extractCells opts (Div (_id,classes,kvs) xs : bs) case consolidateAdjacentRawBlocks xs of [RawBlock (Format f) raw] -> do let format' = - case f of + case map toLower f of "html" -> "text/html" "revealjs" -> "text/html" "latex" -> "text/latex" @@ -146,8 +147,10 @@ extractCells opts (Div (_id,classes,kvs) xs : bs) (Cell{ cellType = Raw , cellSource = Source $ breakLines $ T.pack raw - , cellMetadata = M.insert "format" - (Aeson.String $ T.pack format') mempty + , cellMetadata = if format' == "ipynb" -- means no format given + then mempty + else M.insert "format" + (Aeson.String $ T.pack format') mempty , cellAttachments = Nothing } :) <$> extractCells opts bs _ -> extractCells opts bs extractCells opts (CodeBlock (_id,classes,kvs) raw : bs) -- cgit v1.2.3