Skip to content

fix(html): keep head metadata out of markdown without dropping stray content - #2483

Open
Manohar Paturi (ManoharPaturi) wants to merge 1 commit into
microsoft:mainfrom
ManoharPaturi:fix/html-head-title-leak
Open

fix(html): keep head metadata out of markdown without dropping stray content#2483
Manohar Paturi (ManoharPaturi) wants to merge 1 commit into
microsoft:mainfrom
ManoharPaturi:fix/html-head-title-leak

Conversation

@ManoharPaturi

Copy link
Copy Markdown

Fixes #2482.

The converter now extracts <head> (capturing the document title first, keeping SVG <title> elements where they are) and converts everything else, instead of converting only <body> when present and the whole document otherwise. Stray content before/after <body> survives, head metadata does not leak.

3 new tests fail on main (title leak, dropped pre/post content, SVG title kept) and pass here; suite otherwise unchanged (891 passed; the 5 failures are pre-existing env issues identical on main).

…content

A browser relocates stray content into <body> and keeps document metadata
in <head>, but BeautifulSoup's html.parser leaves elements where they were
written. The converter converted only the <body> element when one existed,
which silently dropped content placed before or after it, and converted the
whole document when no <body> existed, which leaked <title> (and other
<head>) text into the markdown body.

Remove the metadata containers (<head>, and a document <title> that is not
inside SVG/MathML) instead of selecting the <body> element, and convert
everything that remains. The document title is now captured before removal.
Copilot AI lite review requested due to automatic review settings September 13, 2026 16:35

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

HTML: <title> leaks into markdown body for documents without <body>; stray content outside <body> dropped

2 participants