Repository navigation
Convert the remaining site documentation from APT to Markdown - #3422
Merged
Merged
Conversation
Doing the rename on its own keeps git log --follow working across the conversion. Please merge or rebase this branch rather than squashing it. Generated-by: Claude Opus 5
slachiewicz
force-pushed
the
apt-to-markdown
branch
from
August 9, 2026 23:20
e9f88ae to
5b057d3
Compare
APT is a dead format; Doxia 2 keeps it only for backwards compatibility.
These 35 pages were the last APT sources in the repository.
Converted with doxia-converter, then verified by building the site before
and after and diffing the generated HTML, page by page, for the four
modules affected: maven-surefire-plugin, maven-surefire-report-plugin,
surefire-api and maven-failsafe-plugin. Failsafe matters here because it
renders maven-surefire-plugin's site sources from the site-source
artifact, so every #if on ${project.artifactId} had to keep working for
both plugins; each conditional page was converted once per branch and the
two results merged back together.
Notes on the parts the converter cannot get right on its own:
* Pages that still need Velocity keep the .vm suffix. In such a file
'##' opens a Velocity line comment, so level two headings use a setext
underline instead.
* api.md, developing.md, examples/cwd.md and the report plugin's
examples/linking-to-tests.md contain no Velocity at all and drop the
suffix.
* References the page means to show rather than resolve are written
${esc.d}{...}; a backslash only unescapes when the name happens not to
resolve in the document's context.
* APT figures become <figure>/<figcaption> so the caption stays visible
on the page rather than disappearing into an alt attribute.
* Fenced blocks carry a language. The Markdown parser boxes a block only
when the info string is non-empty, so a bare fence would quietly turn
the 163 boxed samples into plain <pre>. The one APT block that was
deliberately unboxed, in examples/toolchains, keeps a bare fence.
Two intended changes, both because a Markdown table must have a header
row and the APT table in surefire-api/index.md had none: that table gains
Term and Definition headings, and tables lose the table-bordered class on
history, examples/toolchains and surefire-api/index.
Generated-by: Claude Opus 5
slachiewicz
force-pushed
the
apt-to-markdown
branch
from
August 9, 2026 23:40
5b057d3 to
ee56e71
Compare
slachiewicz
marked this pull request as ready for review
August 10, 2026 00:06
slachiewicz
added a commit
that referenced
this pull request
Aug 10, 2026
A Markdown pipe table renders as class="table table-striped"; the APT tables these two pages came from rendered as class="table table-bordered table-striped", so the conversion in #3422 quietly dropped the cell borders. Doxia parses a raw HTML table back into the same table it built from APT -- the class and the per-cell style survive verbatim and it still applies the alternating row classes itself -- so writing these two out as HTML restores the original rendering exactly. Verified against the pre-conversion site: examples/toolchains now matches the APT baseline on every axis compared, and the only remaining difference on surefire-api/index is the Term and Definition header cells, which were added deliberately in #3422 because a Markdown table cannot express a headerless one. history.md.vm keeps its Markdown table on purpose. It carries 24 links and 38 line breaks across nine rows and gains a row every release, so readable source is worth more there than the border. Generated-by: Claude Opus 5 (1M context)
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.
APT is a dead format; Doxia 2 keeps it only for backwards compatibility. These 35 pages were the last APT sources in this repository.
Two commits, deliberately kept apart:
Rename the site documents ahead of converting themβ puregit mv, no content change.Convert the site documents from APT to Markdownβ the conversion.Please merge or rebase, rather than squash. Git's rename detection is similarity-based, so squashing collapses the rename back into a delete plus an add and
git log --followstops at this PR. Review is easiest on the second commit alone.What was converted
maven-surefire-pluginindex,usage,api,developing,history+ 22 underexamples/)maven-surefire-report-pluginindex,usage+ 5 underexamples/)surefire-apiindex)How it was verified
The site was generated before and after the change and the rendered HTML compared page by page β 150 pages β on three axes: document title, author and date metadata plus visible text and every link target; the block structure (
<pre>classes, headings, tables, lists, figures); and the heading anchors, so that every#Fragmentcross-reference still resolves.maven-failsafe-pluginis in that set on purpose: it rendersmaven-surefire-plugin's site sources from thesite-sourceartifact, so every#ifon${project.artifactId}has to keep working for both plugins. Each conditional page was converted once per branch and the two results merged back together, so both renderings are reproduced exactly.All 150 pages come out identical except for the two intended changes below, plus the project-info reports (
dependencies,dependency-convergence) and the Surefire test report, which differ only because of how the two comparison builds were invoked.Things the converter cannot get right on its own
.vmsuffix. In such a file##opens a Velocity line comment and would silently swallow the heading, so level two headings use a setext underline and deeper levels are wrapped in#[[### ...]]#. The%{toc}onexamples/system-propertiesstill lists all 5 entries.api.md,developing.md,examples/cwd.mdand the report plugin'sexamples/linking-to-tests.mdcontain no Velocity at all, so they drop the.vmsuffix.${esc.d}{...}. A backslash only unescapes when the name happens not to resolve in the document's context β${project.build.outputDirectory}does resolve, and was being substituted with a real path.<pre>β 163 boxed blocks before, 163 after. The one APT block that was deliberately unboxed, inexamples/toolchains, keeps a bare fence.<figure>/<figcaption>so captions stay visible on the page instead of disappearing into analtattribute.Intended changes
Both follow from a Markdown table needing a header row where the APT table had none:
surefire-api/index.mdβ the definitions table gainsTermandDefinitionheadings.table-borderedis dropped from tables (history,examples/toolchains,surefire-api/index) β the Markdown sink does not emit that class. Not controllable from the source document.Only
masteris touched;surefire-3.5.xis deliberately left alone.Generated-by: Claude Opus 5