@@ -131,6 +131,7 @@ block = do
131 , eSwitch B.para block
131 , eSwitch B.para block
132 , mempty <$ eFootnote
132 , mempty <$ eFootnote
133 , mempty <$ eTOC
133 , mempty <$ eTOC
134+ , mempty <$ eTitlePage
135 , pHeader
136 , pHeader
136 , pBlockQuote
137 , pBlockQuote
@@ -334,9 +335,13 @@ headerLevel tagtype = do
335 return level
336 return level
337−
338+eTitlePage :: TagParser ()
338−
339+eTitlePage = try $ do
339−
340+ let isTitlePage as = maybe False (isInfixOf "titlepage") (lookup "type" as)
341+ let groupTag = tagOpen (\x -> x `elem` groupingContent || x == "section")
343+ TagOpen tag _ <- lookAhead $ pSatisfy groupTag
344+ () <$ pInTags tag block
341pHeader :: TagParser Blocks
346pHeader :: TagParser Blocks
342pHeader = try $ do
347pHeader = try $ do
@@ -922,13 +927,14 @@ instance HasLastStrPosition HTMLState where
922sectioningContent :: [String]
927sectioningContent :: [String]
923sectioningContent = ["article", "aside", "nav", "section"]
928sectioningContent = ["article", "aside", "nav", "section"]
926groupingContent :: [String]
931groupingContent :: [String]
927groupingContent = ["p", "hr", "pre", "blockquote", "ol"
932groupingContent = ["p", "hr", "pre", "blockquote", "ol"
928 , "ul", "li", "dl", "dt", "dt", "dd"
933 , "ul", "li", "dl", "dt", "dt", "dd"
929 , "figure", "figcaption", "div", "main"]
934 , "figure", "figcaption", "div", "main"]
933types :: [(String, ([String], Int))]
939types :: [(String, ([String], Int))]
934types = -- Document divisions
940types = -- Document divisions