Skip to content

fix: render inline markup correctly in HTML and Adoc#1186

Open
gennaroprota wants to merge 1 commit intocppalliance:developfrom
gennaroprota:fix/restore_em_mark_sub_sup_del_in_html_output
Open

fix: render inline markup correctly in HTML and Adoc#1186
gennaroprota wants to merge 1 commit intocppalliance:developfrom
gennaroprota:fix/restore_em_mark_sub_sup_del_in_html_output

Conversation

@gennaroprota
Copy link
Copy Markdown
Collaborator

Five kinds of inline markup in doc comments (emphasis, highlight, subscript, superscript, and strikethrough) were not rendered correctly:

  • HTML output silently dropped the wrapping element, so emphasized text and the others appeared as bare text.
  • AsciiDoc output rendered all five as italics, which is correct for emphasis but semantically wrong for the others (e.g., a subscript appeared as italic text, not lowered).

Both rendering paths now produce semantically appropriate markup: <em>, <mark>, <sub>, <sup>, <del> in HTML, and the matching constructs in AsciiDoc (with strikethrough using the role-based [.line-through]#...#, since AsciiDoc has no native syntax for it).

Doc comments may now also use the HTML-tag form for these kinds (<strong>, <mark>, <del>, <s>, <sub>, <sup>) alongside the previously-supported <em>. This is what most users reach for when they need a tight notation (e.g., H<sub>2</sub>O); the Markdown-marker forms (~text~, ^text^, ==text==, ~~text~~) require whitespace flanks, which makes compact chemistry/math notation awkward to express.

Three other inline kinds (footnote-reference, image, and math) suffer from the same rendering issue but each requires its own non-trivial design decision and is left for separate fixes.

Closes issue #1185.

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Apr 29, 2026

🚧 Danger.js checks for MrDocs are experimental; expect some rough edges while we tune the rules.

✨ Highlights

  • 🧪 Existing golden tests changed (behavior likely shifted)

🧾 Changes by Scope

Scope Lines Δ% Lines Δ Lines + Lines - Files Δ Files + Files ~ Files ↔ Files -
🥇 Golden Tests 82% 298 295 3 6 4 2 - -
🛠️ Source 18% 66 60 6 19 8 11 - -
Total 100% 364 355 9 25 12 13 - -

Legend: Files + (added), Files ~ (modified), Files ↔ (renamed), Files - (removed)

🔝 Top Files

  • test-files/golden-tests/javadoc/inline/inline-markers.xml (Golden Tests): 181 lines Δ (+181 / -0)
  • test-files/golden-tests/javadoc/inline/inline-markers.html (Golden Tests): 58 lines Δ (+58 / -0)
  • test-files/golden-tests/javadoc/inline/inline-markers.adoc (Golden Tests): 38 lines Δ (+38 / -0)

Generated by 🚫 dangerJS against 35d81dc

@codecov
Copy link
Copy Markdown

codecov Bot commented Apr 29, 2026

Codecov Report

❌ Patch coverage is 95.00000% with 1 line in your changes missing coverage. Please review.
✅ Project coverage is 79.22%. Comparing base (9c7a140) to head (35d81dc).

Files with missing lines Patch % Lines
src/lib/AST/ExtractDocComment.cpp 95.00% 0 Missing and 1 partial ⚠️
Additional details and impacted files
@@             Coverage Diff             @@
##           develop    #1186      +/-   ##
===========================================
+ Coverage    79.19%   79.22%   +0.03%     
===========================================
  Files          308      308              
  Lines        32332    32352      +20     
  Branches      6493     6498       +5     
===========================================
+ Hits         25606    25632      +26     
+ Misses        4355     4349       -6     
  Partials      2371     2371              
Flag Coverage Δ
bootstrap 81.89% <ø> (ø)
cpp 78.95% <95.00%> (+0.03%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@cppalliance-bot
Copy link
Copy Markdown

cppalliance-bot commented Apr 29, 2026

An automated preview of the documentation is available at https://1186.mrdocs.prtest2.cppalliance.org/index.html

If more commits are pushed to the pull request, the docs will rebuild at the same URL.

2026-04-29 14:09:07 UTC

Five kinds of inline markup in doc comments (emphasis, highlight,
subscript, superscript, and strikethrough) were not rendered correctly:

- HTML output silently dropped the wrapping element, so emphasized text
  and the others appeared as bare text.
- AsciiDoc output rendered all five as italics, which is correct for
  emphasis but semantically wrong for the others (e.g., a subscript
  appeared as italic text, not lowered).

Both rendering paths now produce semantically appropriate markup:
`<em>`, `<mark>`, `<sub>`, `<sup>`, `<del>` in HTML, and the matching
constructs in AsciiDoc (with strikethrough using the role-based
`[.line-through]#...#`, since AsciiDoc has no native syntax for it).

Doc comments may now also use the HTML-tag form for these kinds
(`<strong>`, `<mark>`, `<del>`, `<s>`, `<sub>`, `<sup>`) alongside the
previously-supported `<em>`. This is what most users reach for when they
need a tight notation (e.g., `H<sub>2</sub>O`); the Markdown-marker
forms (`~text~`, `^text^`, `==text==`, `~~text~~`) require whitespace
flanks, which makes compact chemistry/math notation awkward to express.

Three other inline kinds (footnote-reference, image, and math) suffer
from the same rendering issue but each requires its own non-trivial
design decision and is left for separate fixes.

Closes issue cppalliance#1185.
@gennaroprota gennaroprota force-pushed the fix/restore_em_mark_sub_sup_del_in_html_output branch from f0c0ddb to 35d81dc Compare April 29, 2026 14:00
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.

2 participants