Skip to content

Doxygen 1.12.0 mishandles Markdown section header following "<pre>" HTML markup. #11114

@ncbrowns

Description

@ncbrowns

Describe the bug
While porting some documentation to use Doxygen 1.12.0 (was using 1.9.7), I discovered a problem in the handling of Markdown content like the following where a top-level parent section ending with <pre> markup is followed by a second-level section header. When the content is rendered in HTML, the "##" prefix for the "Second Level" section header appears to be interpreted as if the first "#" character is literal text at the end of the prior section and the second "#" specifies a top-level section header (like "Top Level").

[TOC]
 
# Top Level
 
1. This is a list item.

2. So is this.

3. So it this, but I also have some
<pre>
preformatted content
</pre>

## Second Level

This is a second level section.

Screenshots
Here's the HTML rendering of the example above:

image

To Reproduce
Attach a self contained example that allows us to reproduce the problem.

example.zip

This was built from a brand-new Doxyfile pointing at the file "test.md", with no other content.

Expected behavior
The header "Second Level" should be rendered as a child of "Top Level", not as a peer.

Version
Doxygen 1.12.0 (pre-built binaries from zip package on the main site) on Windows 11.

Stack trace
If you encounter a crash and can build doxygen from sources yourself with debug info (-DCMAKE_BUILD_TYPE=Debug), a stack trace can be very helpful (especially if it is not possible to capture the problem in a small example that can be shared).

Additional context
Add any other context about the problem here.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions