git.iko.soy/typeable/pandoc
on master help sign in
EPUB Reader: Ignore title pages
34cf016Matthew Pickering
src/Text/Pandoc/Readers/HTML.hs+10−4
@@ -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
134 , pPara
135 , pPara
135 , pHeader
136 , pHeader
136 , pBlockQuote
137 , pBlockQuote
@@ -334,9 +335,13 @@ headerLevel tagtype = do
334 <|>
335 <|>
335 return level
336 return level
336
337
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")
342+ isTitlePage
343+ TagOpen tag _ <- lookAhead $ pSatisfy groupTag
344+ () <$ pInTags tag block
340
345
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"]
924
929
925−{-
930+
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"]
930
935
931
936
937+{-
932
938
933types :: [(String, ([String], Int))]
939types :: [(String, ([String], Int))]
934types = -- Document divisions
940types = -- Document divisions