@@ -575,6 +575,10 @@ isImage Image{} = True
575isImage (Link _ (Image{} : _) _) = True
575isImage (Link _ (Image{} : _) _) = True
576isImage _ = False
576isImage _ = False
578+isNotesDiv :: Block -> Bool
579+isNotesDiv (Div (_, ["notes"], _) _) = True
578splitBlocks' :: [Block] -> [[Block]] -> [Block] -> Pres [[Block]]
582splitBlocks' :: [Block] -> [[Block]] -> [Block] -> Pres [[Block]]
579splitBlocks' cur acc [] = return $ acc ++ (if null cur then [] else [cur])
583splitBlocks' cur acc [] = return $ acc ++ (if null cur then [] else [cur])
580splitBlocks' cur acc (HorizontalRule : blks) =
584splitBlocks' cur acc (HorizontalRule : blks) =
@@ -590,26 +594,31 @@ splitBlocks' cur acc (h@(Header n _ _) : blks) = do
590splitBlocks' cur acc (Plain ils : blks) = splitBlocks' cur acc (Para ils : blks)
594splitBlocks' cur acc (Plain ils : blks) = splitBlocks' cur acc (Para ils : blks)
591splitBlocks' cur acc (Para (il:ils) : blks) | isImage il = do
595splitBlocks' cur acc (Para (il:ils) : blks) | isImage il = do
592 slideLevel <- asks envSlideLevel
596 slideLevel <- asks envSlideLevel
597+ let (nts, blks') = if null ils
598+ then span isNotesDiv blks
593 case cur of
600 case cur of
594 [Header n _ _] | n == slideLevel ->
601 [Header n _ _] | n == slideLevel ->
595 splitBlocks' []
602 splitBlocks' []
596− (acc ++ [cur ++ [Para [il]]])
603+ (acc ++ [cur ++ [Para [il]] ++ nts])
597− (if null ils then blks else Para ils : blks)
604+ (if null ils then blks' else Para ils : blks')
598 _ -> splitBlocks' []
605 _ -> splitBlocks' []
599− (acc ++ (if null cur then [] else [cur]) ++ [[Para [il]]])
606+ (acc ++ (if null cur then [] else [cur]) ++ [[Para [il]] ++ nts])
600− (if null ils then blks else Para ils : blks)
607+ (if null ils then blks' else Para ils : blks')
601splitBlocks' cur acc (tbl@Table{} : blks) = do
608splitBlocks' cur acc (tbl@Table{} : blks) = do
602 slideLevel <- asks envSlideLevel
609 slideLevel <- asks envSlideLevel
610+ let (nts, blks') = span isNotesDiv blks
603 case cur of
611 case cur of
604 [Header n _ _] | n == slideLevel ->
612 [Header n _ _] | n == slideLevel ->
605− splitBlocks' [] (acc ++ [cur ++ [tbl]]) blks
613+ splitBlocks' [] (acc ++ [cur ++ [tbl] ++ nts]) blks'
606− _ -> splitBlocks' [] (acc ++ (if null cur then [] else [cur]) ++ [[tbl]]) blks
614+ _ -> splitBlocks' [] (acc ++ (if null cur then [] else [cur]) ++ [[tbl] ++ nts]) blks'
607splitBlocks' cur acc (d@(Div (_, classes, _) _): blks) | "columns" `elem` classes = do
615splitBlocks' cur acc (d@(Div (_, classes, _) _): blks) | "columns" `elem` classes = do
608 slideLevel <- asks envSlideLevel
616 slideLevel <- asks envSlideLevel
617+ let (nts, blks') = span isNotesDiv blks
609 case cur of
618 case cur of
610 [Header n _ _] | n == slideLevel ->
619 [Header n _ _] | n == slideLevel ->
611− splitBlocks' [] (acc ++ [cur ++ [d]]) blks
620+ splitBlocks' [] (acc ++ [cur ++ [d] ++ nts]) blks'
612− _ -> splitBlocks' [] (acc ++ (if null cur then [] else [cur]) ++ [[d]]) blks
621+ _ -> splitBlocks' [] (acc ++ (if null cur then [] else [cur]) ++ [[d] ++ nts]) blks'
613splitBlocks' cur acc (blk : blks) = splitBlocks' (cur ++ [blk]) acc blks
622splitBlocks' cur acc (blk : blks) = splitBlocks' (cur ++ [blk]) acc blks
615splitBlocks :: [Block] -> Pres [[Block]]
624splitBlocks :: [Block] -> Pres [[Block]]