Skip to content

fix(markdown): keep fenced code out of the document outline - #555

Closed
ac1982 wants to merge 1 commit into
VectifyAI:mainfrom
ac1982:fix/markdown-fence-boundaries
Closed

ac1982 wants to merge 1 commit into
VectifyAI:mainfrom
ac1982:fix/markdown-fence-boundaries

Conversation

@ac1982

@ac1982 ac1982 commented Oct 7, 2026

Copy link
Copy Markdown

Markdown indexing treats headings inside ~~~ code blocks as real sections. A four-backtick example containing triple backticks also toggles the old boolean fence state early, adding code to the outline or hiding the following real heading.

Track the opening marker and its length. Close only on the same marker, at least as long, with no trailing non-whitespace text. Support tilde fences and leave an unclosed fence active through EOF. This follows the fenced-block boundary rules in https://spec.commonmark.org/0.31.2/#fenced-code-blocks without adding a parser dependency.

Regression coverage includes tilde fences, nested shorter fences, mismatched markers, trailing text on an apparent closer, unclosed blocks, and preservation of the following heading's line number. The new cases reproduce the bug on main. python -m pytest tests/test_page_index_md.py -q passes, including both existing CLI tests.

Searched existing issues and PRs for fence/fenced/backticks/tilde; found no matching work. AI-assisted contribution.

@ac1982 ac1982 closed this Oct 7, 2026
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.

1 participant