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

   `Xhtml5BaseSink` adds `class="externalLink"` to every link that 
`DoxiaUtils.isExternalLink` matches. The class exists so a skin can paint an 
icon on outbound links — and Fluido Skin 2.1.0 removed those icons and the 46 
lines of CSS behind them 
([MSKINS-262](https://issues.apache.org/jira/browse/MSKINS-262)), along with 
the class on its own navigation links. So today Doxia stamps the attribute into 
every generated page and nothing in the stack styles it. This finishes that 
migration on the Doxia side.
   
   **This changes generated HTML for every project**, which is the part worth 
arguing about before it merges:
   
   - A third-party skin or a project stylesheet that targets `a.externalLink` 
loses its hook. Within apache/maven-* only two stylesheets referenced it, both 
to *cancel* Fluido's icons, and both are being removed (apache/maven-site#1674 
merged, apache/maven-scm#1400 open) — but the estate is not the whole 
population of skins.
   - The attribute is also a semantic marker, not only a styling hook. Removing 
it means a skin can no longer tell outbound links apart without re-implementing 
the check.
   - Behaviour also changes for callers that pass their own class: 
`externalLink` used to be prepended to it, so `class="cs1 cs2"` became 
`class="externalLink cs1 cs2"`. It now stays `class="cs1 cs2"`.
   
   If the tradeoff is not wanted, the alternative that keeps the marker and 
still ends the dead-weight problem is to leave Doxia alone and document the 
class as skin-owned. I have no strong view on which; the version this lands in 
matters more than the change itself.
   
   Verified: full `mvn install` green. Three assertions updated to match — two 
in `Xhtml5BaseSinkTest` (including the caller-supplied-class case) and one in 
`Xhtml5SinkTest`. `DoxiaUtils.isExternalLink` stays; `Xhtml5BaseParser` and the 
APT module still use it.
   
   *This change was created with AI assistance.*
   


-- 
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