DocBook reader: Issue IgnoredElement warnings.
This commit is contained in:
parent
96fae8da50
commit
01bbb52628
1 changed files with 37 additions and 28 deletions
|
@ -24,8 +24,9 @@ import Data.Text (Text)
|
|||
import qualified Data.Text as T
|
||||
import Text.HTML.TagSoup.Entity (lookupEntity)
|
||||
import Text.Pandoc.Builder
|
||||
import Text.Pandoc.Class (PandocMonad)
|
||||
import Text.Pandoc.Class (PandocMonad, report)
|
||||
import Text.Pandoc.Options
|
||||
import Text.Pandoc.Logging (LogMessage(..))
|
||||
import Text.Pandoc.Shared (crFilter, safeRead)
|
||||
import Text.TeXMath (readMathML, writeTeX)
|
||||
import Text.XML.Light
|
||||
|
@ -690,8 +691,8 @@ parseBlock (Text (CData _ s _)) = if all isSpace s
|
|||
parseBlock (CRef x) = return $ plain $ str $ map toUpper x
|
||||
parseBlock (Elem e) =
|
||||
case qName (elName e) of
|
||||
"toc" -> return mempty -- skip TOC, since in pandoc it's autogenerated
|
||||
"index" -> return mempty -- skip index, since page numbers meaningless
|
||||
"toc" -> skip -- skip TOC, since in pandoc it's autogenerated
|
||||
"index" -> skip -- skip index, since page numbers meaningless
|
||||
"para" -> parseMixed para (elContent e)
|
||||
"formalpara" -> do
|
||||
tit <- case filterChild (named "title") e of
|
||||
|
@ -703,9 +704,9 @@ parseBlock (Elem e) =
|
|||
"ackno" -> parseMixed para (elContent e)
|
||||
"epigraph" -> parseBlockquote
|
||||
"blockquote" -> parseBlockquote
|
||||
"attribution" -> return mempty
|
||||
"titleabbrev" -> return mempty
|
||||
"authorinitials" -> return mempty
|
||||
"attribution" -> skip
|
||||
"titleabbrev" -> skip
|
||||
"authorinitials" -> skip
|
||||
"bibliography" -> sect 0
|
||||
"bibliodiv" -> sect 1
|
||||
"biblioentry" -> parseMixed para (elContent e)
|
||||
|
@ -745,9 +746,9 @@ parseBlock (Elem e) =
|
|||
<$> getBlocks e
|
||||
"warning" -> blockQuote . (para (strong $ str "Warning") <>)
|
||||
<$> getBlocks e
|
||||
"area" -> return mempty
|
||||
"areaset" -> return mempty
|
||||
"areaspec" -> return mempty
|
||||
"area" -> skip
|
||||
"areaset" -> skip
|
||||
"areaspec" -> skip
|
||||
"qandadiv" -> gets dbSectionLevel >>= sect . (+1)
|
||||
"question" -> addToStart (strong (str "Q:") <> str " ") <$> getBlocks e
|
||||
"answer" -> addToStart (strong (str "A:") <> str " ") <$> getBlocks e
|
||||
|
@ -770,22 +771,22 @@ parseBlock (Elem e) =
|
|||
"variablelist" -> definitionList <$> deflistitems
|
||||
"figure" -> getFigure e
|
||||
"mediaobject" -> para <$> getMediaobject e
|
||||
"caption" -> return mempty
|
||||
"caption" -> skip
|
||||
"info" -> addMetadataFromElement e
|
||||
"articleinfo" -> addMetadataFromElement e
|
||||
"sectioninfo" -> return mempty -- keywords & other metadata
|
||||
"refsectioninfo" -> return mempty -- keywords & other metadata
|
||||
"refsect1info" -> return mempty -- keywords & other metadata
|
||||
"refsect2info" -> return mempty -- keywords & other metadata
|
||||
"refsect3info" -> return mempty -- keywords & other metadata
|
||||
"sect1info" -> return mempty -- keywords & other metadata
|
||||
"sect2info" -> return mempty -- keywords & other metadata
|
||||
"sect3info" -> return mempty -- keywords & other metadata
|
||||
"sect4info" -> return mempty -- keywords & other metadata
|
||||
"sect5info" -> return mempty -- keywords & other metadata
|
||||
"chapterinfo" -> return mempty -- keywords & other metadata
|
||||
"glossaryinfo" -> return mempty -- keywords & other metadata
|
||||
"appendixinfo" -> return mempty -- keywords & other metadata
|
||||
"sectioninfo" -> skip -- keywords & other metadata
|
||||
"refsectioninfo" -> skip -- keywords & other metadata
|
||||
"refsect1info" -> skip -- keywords & other metadata
|
||||
"refsect2info" -> skip -- keywords & other metadata
|
||||
"refsect3info" -> skip -- keywords & other metadata
|
||||
"sect1info" -> skip -- keywords & other metadata
|
||||
"sect2info" -> skip -- keywords & other metadata
|
||||
"sect3info" -> skip -- keywords & other metadata
|
||||
"sect4info" -> skip -- keywords & other metadata
|
||||
"sect5info" -> skip -- keywords & other metadata
|
||||
"chapterinfo" -> skip -- keywords & other metadata
|
||||
"glossaryinfo" -> skip -- keywords & other metadata
|
||||
"appendixinfo" -> skip -- keywords & other metadata
|
||||
"bookinfo" -> addMetadataFromElement e
|
||||
"article" -> modify (\st -> st{ dbBook = False }) >>
|
||||
addMetadataFromElement e >> getBlocks e
|
||||
|
@ -802,8 +803,12 @@ parseBlock (Elem e) =
|
|||
"?xml" -> return mempty
|
||||
"title" -> return mempty -- handled in parent element
|
||||
"subtitle" -> return mempty -- handled in parent element
|
||||
_ -> getBlocks e
|
||||
where parseMixed container conts = do
|
||||
_ -> skip >> getBlocks e
|
||||
where skip = do
|
||||
lift $ report $ IgnoredElement $ qName (elName e)
|
||||
return mempty
|
||||
|
||||
parseMixed container conts = do
|
||||
let (ils,rest) = break isBlockElement conts
|
||||
ils' <- (trimInlines . mconcat) <$> mapM parseInline ils
|
||||
let p = if ils' == mempty then mempty else container ils'
|
||||
|
@ -1000,13 +1005,17 @@ parseInline (Elem e) =
|
|||
"footnote" -> (note . mconcat) <$>
|
||||
mapM parseBlock (elContent e)
|
||||
"title" -> return mempty
|
||||
"affiliation" -> return mempty
|
||||
"affiliation" -> skip
|
||||
-- Note: this isn't a real docbook tag; it's what we convert
|
||||
-- <?asciidor-br?> to in handleInstructions, above. A kludge to
|
||||
-- work around xml-light's inability to parse an instruction.
|
||||
"br" -> return linebreak
|
||||
_ -> innerInlines
|
||||
where innerInlines = (trimInlines . mconcat) <$>
|
||||
_ -> skip >> innerInlines
|
||||
where skip = do
|
||||
lift $ report $ IgnoredElement $ qName (elName e)
|
||||
return mempty
|
||||
|
||||
innerInlines = (trimInlines . mconcat) <$>
|
||||
mapM parseInline (elContent e)
|
||||
codeWithLang = do
|
||||
let classes' = case attrValue "language" e of
|
||||
|
|
Loading…
Reference in a new issue