aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/Text/Pandoc/Writers/Powerpoint.hs19
1 files changed, 11 insertions, 8 deletions
diff --git a/src/Text/Pandoc/Writers/Powerpoint.hs b/src/Text/Pandoc/Writers/Powerpoint.hs
index 7aed2e43f..c43910741 100644
--- a/src/Text/Pandoc/Writers/Powerpoint.hs
+++ b/src/Text/Pandoc/Writers/Powerpoint.hs
@@ -192,11 +192,11 @@ data Slide = MetadataSlide { metadataSlideTitle :: [ParaElem]
, metadataSlideAuthors :: [[ParaElem]]
, metadataSlideDate :: [ParaElem]
}
- | TitleSlide { slideHeader :: [ParaElem]}
- | ContentSlide { slideHeader :: [ParaElem]
+ | TitleSlide { titleSlideHeader :: [ParaElem]}
+ | ContentSlide { contentSlideHeader :: [ParaElem]
, contentSlideContent :: [Shape]
}
- | TwoColumnSlide { slideHeader :: [ParaElem]
+ | TwoColumnSlide { twoColumnSlideHeader :: [ParaElem]
, twoColumnSlideLeft :: [Shape]
, twoColumnSlideRight :: [Shape]
}
@@ -573,13 +573,16 @@ blocksToSlide' :: PandocMonad m => Int -> [Block] -> P m Slide
blocksToSlide' lvl ((Header n _ ils) : blks)
| n < lvl = do
hdr <- inlinesToParElems ils
- return $ TitleSlide {slideHeader = hdr}
+ return $ TitleSlide {titleSlideHeader = hdr}
| n == lvl = do
hdr <- inlinesToParElems ils
-- Now get the slide without the header, and then add the header
-- in.
slide <- blocksToSlide' lvl blks
- return $ slide {slideHeader = hdr}
+ return $ case slide of
+ ContentSlide _ _ -> slide {contentSlideHeader = hdr}
+ TwoColumnSlide _ _ _ -> slide {twoColumnSlideHeader = hdr}
+ _ -> slide
blocksToSlide' _ (blk : blks)
| Div (_, classes, _) divBlks <- blk
, "columns" `elem` classes
@@ -591,7 +594,7 @@ blocksToSlide' _ (blk : blks)
(mapM (P.report . BlockNotRendered) remaining >> return ())
shapesL <- blocksToShapes blksL
shapesR <- blocksToShapes blksR
- return $ TwoColumnSlide { slideHeader = []
+ return $ TwoColumnSlide { twoColumnSlideHeader = []
, twoColumnSlideLeft = shapesL
, twoColumnSlideRight = shapesR
}
@@ -600,10 +603,10 @@ blocksToSlide' _ (blk : blks) = do
shapes <- if inNoteSlide
then forceFontSize noteSize $ blocksToShapes (blk : blks)
else blocksToShapes (blk : blks)
- return $ ContentSlide { slideHeader = []
+ return $ ContentSlide { contentSlideHeader = []
, contentSlideContent = shapes
}
-blocksToSlide' _ [] = return $ ContentSlide { slideHeader = []
+blocksToSlide' _ [] = return $ ContentSlide { contentSlideHeader = []
, contentSlideContent = []
}