git.iko.soy/typeable/pandoc
on master help sign in
filterIpynbOutput - go back to just including one block per format.

In the end we need a 1-1 map of mime types to output blocks.

commit449910bf407521e04222ee9c64da7c8a253af1dd authorJohn MacFarlane <jgm@berkeley.edu> dateWed 6 Mar 2019, 11:09 (8 years ago) parentd68b300
1 file changed+3−4
src/Text/Pandoc/Shared.hs+3−4
src/Text/Pandoc/Shared.hs+3−4
@@ -104,7 +104,8 @@ import Data.Char (isAlpha, isLower, isSpace, isUpper, toLower, isAlphaNum,
104104 generalCategory, GeneralCategory(NonSpacingMark,
105105 SpacingCombiningMark, EnclosingMark, ConnectorPunctuation))
106106import Data.Data (Data, Typeable)
107−import Data.List (find, intercalate, intersperse, stripPrefix)
107+import Data.List (find, intercalate, intersperse, stripPrefix, sortBy)
108+import Data.Ord (comparing)
108109import qualified Data.Map as M
109110import Data.Maybe (mapMaybe)
110111import Data.Sequence (ViewL (..), ViewR (..), viewl, viewr)
@@ -113,7 +114,6 @@ import qualified Data.Text as T
113114import Data.Version (showVersion)
114115import Network.URI (URI (uriScheme), escapeURIString, parseURI)
115116import Paths_pandoc (version)
116−import Safe (minimumDef)
117117import System.Directory
118118import System.FilePath (isPathSeparator, splitDirectories)
119119import qualified System.FilePath.Posix as Posix
@@ -684,9 +684,8 @@ filterIpynbOutput mode = walk go
684684 | fmt == Format "ipynb"
685685 -> Div (ident, ("output":os), kvs) bs
686686 | otherwise -> Div (ident, ("output":os), kvs) $
687− [ b | b <- bs, rank b == lowestRank ]
687+ take 1 $ sortBy (comparing rank) bs
688688 where
689− lowestRank = minimumDef 0 $ map rank bs
690689 rank (RawBlock (Format "html") _)
691690 | fmt == Format "html" = (1 :: Int)
692691 | fmt == Format "markdown" = 2