Fixed reference slides.

The Div container around references messed up the procedure
for carving a document into slides.  So we now remove the surrounding
Div in prepSlides.
This commit is contained in:
John MacFarlane 2013-09-18 09:13:37 -07:00
parent 3397af30e4
commit 464b174d0f

View file

@ -46,13 +46,18 @@ getSlideLevel = go 6
-- | Prepare a block list to be passed to hierarchicalize.
prepSlides :: Int -> [Block] -> [Block]
prepSlides slideLevel = ensureStartWithH . splitHrule
prepSlides slideLevel = ensureStartWithH . splitHrule . extractRefsHeader
where splitHrule (HorizontalRule : Header n attr xs : ys)
| n == slideLevel = Header slideLevel attr xs : splitHrule ys
splitHrule (HorizontalRule : xs) = Header slideLevel nullAttr [Str "\0"] :
splitHrule xs
splitHrule (x : xs) = x : splitHrule xs
splitHrule [] = []
extractRefsHeader bs =
case reverse bs of
(Div (_,["references"],_) (Header n attrs xs : ys) : zs)
-> reverse zs ++ (Header n attrs xs : ys)
_ -> bs
ensureStartWithH bs@(Header n _ _:_)
| n <= slideLevel = bs
ensureStartWithH bs = Header slideLevel nullAttr [Str "\0"] : bs