Repository navigation
Stop marking external links with the externalLink class - #1099
Merged
Merged
Conversation
The class existed so a skin could paint an icon on outbound links. Fluido Skin 2.1.0 removed those icons and the CSS behind them (MSKINS-262), so the class is emitted into every page and styled by nothing. Note this also changes the caller-supplied class case: externalLink used to be prepended to it.
slachiewicz
marked this pull request as ready for review
September 10, 2026 11:25
slachiewicz
added a commit
to apache/maven-doxia-sitetools
that referenced
this pull request
Oct 20, 2026
Doxia 2.2.0 no longer marks external links with class="externalLink" (apache/maven-doxia#1099); the renderer tests now expect no class.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Xhtml5BaseSinkaddsclass="externalLink"to every link thatDoxiaUtils.isExternalLinkmatches. 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), 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.externalLinkloses its hook. Within apache/maven-* only two stylesheets referenced it, both to cancel Fluido's icons, and both are being removed (Update site documentation for the Doxia 2 site descriptor maven-site#1674 merged, Drop the CSS that suppressed Fluido's external link icons maven-scm#1400 open) — but the estate is not the whole population of skins.externalLinkused to be prepended to it, soclass="cs1 cs2"becameclass="externalLink cs1 cs2". It now staysclass="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 installgreen. Three assertions updated to match — two inXhtml5BaseSinkTest(including the caller-supplied-class case) and one inXhtml5SinkTest.DoxiaUtils.isExternalLinkstays;Xhtml5BaseParserand the APT module still use it.This change was created with AI assistance.