diff options
author | John MacFarlane <jgm@berkeley.edu> | 2019-01-04 21:47:24 -0800 |
---|---|---|
committer | John MacFarlane <jgm@berkeley.edu> | 2019-01-04 21:47:24 -0800 |
commit | a5f5002eefd43820b1f54191b0cf3cbd743eca0a (patch) | |
tree | 1c9c89cb735856b8a4d007248749cc2a4fad9eb0 /src/Text/Pandoc/Writers | |
parent | 571fede73252138891bbf7eefddbd47947f7eb16 (diff) | |
download | pandoc-a5f5002eefd43820b1f54191b0cf3cbd743eca0a.tar.gz |
Use toTableOfContents in Powerpoint writer....
instead of duplicating code.
Diffstat (limited to 'src/Text/Pandoc/Writers')
-rw-r--r-- | src/Text/Pandoc/Writers/Powerpoint/Presentation.hs | 19 |
1 files changed, 3 insertions, 16 deletions
diff --git a/src/Text/Pandoc/Writers/Powerpoint/Presentation.hs b/src/Text/Pandoc/Writers/Powerpoint/Presentation.hs index 7787e991b..7897f2b11 100644 --- a/src/Text/Pandoc/Writers/Powerpoint/Presentation.hs +++ b/src/Text/Pandoc/Writers/Powerpoint/Presentation.hs @@ -72,7 +72,7 @@ import Text.Pandoc.Logging import Text.Pandoc.Walk import Data.Time (UTCTime) import qualified Text.Pandoc.Shared as Shared -- so we don't overlap "Element" -import Text.Pandoc.Writers.Shared (lookupMetaInlines) +import Text.Pandoc.Writers.Shared (lookupMetaInlines, toTableOfContents) import qualified Data.Map as M import qualified Data.Set as S import Data.Maybe (maybeToList, fromMaybe) @@ -770,23 +770,10 @@ getMetaSlide = do } mempty --- adapted from the markdown writer -elementToListItem :: Shared.Element -> Pres [Block] -elementToListItem (Shared.Sec lev _nums (ident,_,_) headerText subsecs) = do - opts <- asks envOpts - let headerLink = if null ident - then walk Shared.deNote headerText - else [Link nullAttr (walk Shared.deNote headerText) - ('#':ident, "")] - listContents <- if null subsecs || lev >= writerTOCDepth opts - then return [] - else mapM elementToListItem subsecs - return [Plain headerLink, BulletList listContents] -elementToListItem (Shared.Blk _) = return [] - makeTOCSlide :: [Block] -> Pres Slide makeTOCSlide blks = local (\env -> env{envCurSlideId = tocSlideId}) $ do - contents <- BulletList <$> mapM elementToListItem (Shared.hierarchicalize blks) + opts <- asks envOpts + let contents = toTableOfContents opts blks meta <- asks envMetadata slideLevel <- asks envSlideLevel let tocTitle = case lookupMetaInlines "toc-title" meta of |