HTML producer for the Quarb text level: reduces a page to what
it says — headings, paragraphs, quotes, lists, verbatim
blocks, tables — and drops the markup soup. The DOM-faithful
view is quarb-html; this crate lowers the same substrate into
the shared quarb-text vocabulary, so //section[::lemma ...]
and //paragraph read the same over a page as over any other
text substrate.
Producer rules (the HTML-specific knowledge lives here):
h1–h6become flat [Block::Heading]s;quarb-textderives the enclosing section tree.- Soup is dropped:
script,style,nav,header,footer,aside,form, media elements, the wholehead— and, whatever the element, ARIA chrome (landmark roles likenavigation/banner, oraria-hidden="true"). - Structural wrappers (
div,section,article,main, …) are transparent: their flow content is walked, the wrapper itself leaves no node. - A
blockquote's trailingcite/footerchild — or thefigcaptionof afigure-wrapped quote — becomes the quote's hypograph (attribution). prebecomes a verbatim block, language from alanguage-*class;tablebecomes a [Block::Table] (caption from<caption>, headers fromthead/thcells), denormalized to nested lists byquarb-text.- Inline markup flattens to its text.