From 4ce07c20d7f06da3519fa601b9d3df94a16d507e Mon Sep 17 00:00:00 2001 From: Jesse Rosenthal Date: Fri, 12 Jan 2018 10:00:59 -0500 Subject: Powerpoint writer: Set notes slide number correctly Previously, this hadn't been aware of a metadata slide. We also clarify the logic for setting the startnumber of different slide sections correctly. --- src/Text/Pandoc/Writers/Powerpoint.hs | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) (limited to 'src/Text/Pandoc') diff --git a/src/Text/Pandoc/Writers/Powerpoint.hs b/src/Text/Pandoc/Writers/Powerpoint.hs index 7b73d0ecb..ef9bfedff 100644 --- a/src/Text/Pandoc/Writers/Powerpoint.hs +++ b/src/Text/Pandoc/Writers/Powerpoint.hs @@ -679,20 +679,18 @@ getMetaSlide = do blocksToPresentation :: PandocMonad m => [Block] -> P m Presentation blocksToPresentation blks = do - metadataslide <- getMetaSlide - let bodyStartNum = case metadataslide of - Just _ -> 2 - Nothing -> 1 + metadataslides <- maybeToList <$> getMetaSlide + let bodyStartNum = length metadataslides + 1 blksLst <- splitBlocks blks - slides <- mapM - (\(bs, n) -> local (\st -> st{envCurSlideId = n}) (blocksToSlide bs)) - (zip blksLst [bodyStartNum..]) - let noteSlidesNum = length blksLst + 1 - noteSlides <- local (\st -> st {envCurSlideId = noteSlidesNum}) makeNotesSlides + bodyslides <- mapM + (\(bs, n) -> local (\st -> st{envCurSlideId = n}) (blocksToSlide bs)) + (zip blksLst [bodyStartNum..]) + let noteStartNum = bodyStartNum + length bodyslides + noteSlides <- local (\st -> st {envCurSlideId = noteStartNum}) makeNotesSlides presSize <- asks envPresentationSize return $ Presentation presSize $ - (maybeToList metadataslide) ++ slides ++ noteSlides + metadataslides ++ bodyslides ++ noteSlides -------------------------------------------------------------------- -- cgit v1.2.3