slachiewicz opened a new pull request, #3425:
URL: https://github.com/apache/maven-surefire/pull/3425

   Follow-up to #3423 (merged). Two defects in the converted FAQ page, one of 
which readers can see.
   
   ### The visible one: smart quotes
   
   flexmark enables smart-punctuation, so a straight `"` in Markdown prose 
renders as a typographic quote. FML went through `XdocParser`, which does no 
such rewriting — so this page served straight quotes for years and now does 
not. Twenty-two of them changed appearance:
   
   ```
   "The forked VM terminated without properly saying goodbye"
   "extraordinary"   "jar"   "classesDirectory"   
"${project.build.outputDirectory}"
   "Corrupted channel by directly writing to native stream in forked JVM"
   "enableProcessChecker"  (x2)
   ```
   
   Written as `"` here — the convention the already-converted 
`maven-site-plugin` pages use for exactly this reason. Quotes inside code spans 
and fenced blocks are untouched; smart-punctuation never applied to those.
   
   **This is the class of defect the anchor test cannot catch** — it is a text 
change, not an anchor change.
   
   ### The latent one: `<a name>` → `<a id>`
   
   maven-site-plugin **3.21.0 strips the `name` attribute from inline HTML; 
3.22.0 keeps it**. Stripping it would delete every anchor on this page while 
the build stayed green.
   
   This module is safe today — but only because the root pom pins 
`maven-site-plugin` 3.22.0 **explicitly**, rather than inheriting from 
`maven-parent` 47. That pin is the only thing standing between this page and 
silent anchor loss. `Xhtml5BaseParser` reads `Attribute.ID` first and falls 
back to `NAME`, so `id` is the primary path rather than a workaround, and 
`name` on `<a>` is obsolete in HTML5 anyway.
   
   Each anchor stays on its own line — folding one into heading text suppresses 
the section's own generated id.
   
   ### Verification
   
   Built `maven-surefire-plugin`'s site and compared against the FML original 
from before #3423, deleting `target/site` first so a page that failed to 
re-render could not be silently compared against itself:
   
   * all ten anchors plus `#top` still served — `#dumpfiles` matters beyond the 
live site, `examples/shutdown.apt.vm` links to `../faq.html#dumpfiles`
   * `<head>` byte-identical
   * zero `Anchor name … used more than once` warnings
   * no typographic quotes left in the visible text
   
   Rebuilding locally needs **JDK 21** — the reactor does not build on JDK 26, 
`sisu-maven-plugin` 0.9.0.M4 fails on `maven-surefire-common` with "Unsupported 
class file major version 70". Unrelated to this change.
   
   <sub>Drafted with Claude — please verify</sub>
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to