git.iko.soy/typeable/pandoc
on master help sign in
Powerpoint writer: Clean up adding metadata slide
0b66b56Jesse Rosenthal
src/Text/Pandoc/Writers/Powerpoint.hs+8−6
@@ -679,18 +679,20 @@ getMetaSlide = do
679
679
680blocksToPresentation :: PandocMonad m => [Block] -> P m Presentation
680blocksToPresentation :: PandocMonad m => [Block] -> P m Presentation
681blocksToPresentation blks = do
681blocksToPresentation blks = do
682+ metadataslide <- getMetaSlide
683+ let bodyStartNum = case metadataslide of
684+ Just _ -> 2
685+ Nothing -> 1
682 blksLst <- splitBlocks blks
686 blksLst <- splitBlocks blks
683 slides <- mapM
687 slides <- mapM
684 (\(bs, n) -> local (\st -> st{envCurSlideId = n}) (blocksToSlide bs))
688 (\(bs, n) -> local (\st -> st{envCurSlideId = n}) (blocksToSlide bs))
685− (zip blksLst [1..])
689+ (zip blksLst [bodyStartNum..])
686 let noteSlidesNum = length blksLst + 1
690 let noteSlidesNum = length blksLst + 1
687 noteSlides <- local (\st -> st {envCurSlideId = noteSlidesNum}) makeNotesSlides
691 noteSlides <- local (\st -> st {envCurSlideId = noteSlidesNum}) makeNotesSlides
688− let slides' = slides ++ noteSlides
689− metadataslide <- getMetaSlide
690 presSize <- asks envPresentationSize
692 presSize <- asks envPresentationSize
691− return $ case metadataslide of
693+ return $
692− Just metadataslide' -> Presentation presSize $ metadataslide' : slides'
694+ Presentation presSize $
693− Nothing -> Presentation presSize slides'
695+ (maybeToList metadataslide) ++ slides ++ noteSlides
694
696
695--------------------------------------------------------------------
697--------------------------------------------------------------------
696
698