Skip to content

Convert the FAQ from FML to Markdown - #243

Merged
slachiewicz merged 2 commits into
masterfrom
faq-to-markdown
Aug 10, 2026
Merged

Convert the FAQ from FML to Markdown#243
slachiewicz merged 2 commits into
masterfrom
faq-to-markdown

Conversation

@slachiewicz

Copy link
Copy Markdown
Member

Part of the estate-wide move of the remaining FAQ pages from FML to Markdown, following the pattern reviewed in apache/maven-artifact-plugin#231, apache/maven-assembly-plugin#1354 and apache/maven-javadoc-plugin#1358.

Two commits, deliberately

  1. A pure rename, src/site/fml/faq.fml -> src/site/markdown/faq.md, no content change.
  2. The rewrite, written by hand.

Git records a rename plus a rewrite in one commit as a delete and an add, which stops git log --follow. Splitting them keeps the history. Please merge or rebase rather than squash.

Anchors are preserved, and that is the point

This page has been on maven.apache.org for years and is linked from outside. FML derives its anchor from the <faq id=...> attribute, and where that attribute is not a valid XML name DoxiaUtils.encodeId rewrites it at render time. The <a id> elements here reproduce the anchor the live site serves today, not the raw attribute.

The id spelling is deliberate rather than name: maven-site-plugin 3.21.0 silently drops a name attribute from inline HTML while leaving the element in place, so the build stays green and every deep link stops working (seen for real in apache/maven-gpg-plugin#335). id works on every version and is the correct HTML5 form.

Verification

Built the site before and after and compared the set of anchors the generated faq.html actually serves:

How_can_I_debug_the_SCM_command
How_do_I_use_this_plugin_with_Perforce.3F
I_think_I.27ve_found_a_bug_in_this_plugin.2C_what_do_I_do
My_changelog_report_is_blank.2C_but_it_shouldn.27t_be
The_Developer_Activity_report_is_blank.2C_but_the_other_reports_are_fine
What_is_Software_Configuration_Management_or_SCM
What_is_the_difference_between_the_Changelog_plugin_and_the_Changes_plugin
Where_can_I_find_a_working_configuration_for_this_plugin
Why_do_the_child_modules_of_my_multi_module_project_have_wrong_SCM_URLs
Why_do_the_dates_look_weird_in_the_report_when_I_use_the_dateFormat_parameter
bodyColumn
top

Every anchor served before is still served after. The <head> is byte-identical, so title and metadata are unchanged, and every link target on the page is unchanged. site.xml needs no edit - both paths render to faq.html.

What is lost

FML generates a [top] back-link after each answer. Those are dropped rather than hand-written. The question renders as an h3 heading instead of a definition term. Nothing else changes.

Drafted with Claude - please verify

Git records a rename plus a rewrite in one commit as a delete and an
add, which stops 'git log --follow'. Splitting the rename out keeps the
history. Please merge or rebase rather than squash.

Generated-by: Claude Opus 5 (1M context)
@slachiewicz slachiewicz added the documentation Improvements or additions to documentation label Aug 10, 2026
doxia-converter cannot target FML usefully - the questions come out as
link-reference syntax rather than headings, the [top] back-links become
links to a nonexistent 'top' page, and the contents links lose their #
anchors. The page is written out by hand instead.

Explicit <a id> anchors keep the existing deep links working. All ten
still resolve. Where an id was not a valid XML name, Doxia rewrote it at
render time via DoxiaUtils.encodeId; the anchors written here reproduce
that rendered form, not the raw attribute.

Three questions carry no explicit anchor, because for those the id Doxia
already derives from the heading text is byte-identical to the anchor the
FML page served. Emitting one as well would put the same id on the page
twice - invalid HTML, and Doxia warns "Anchor name ... used more than
once". The heading supplies those three on its own.

Verified by building the site before and after and comparing the set of
anchors the generated faq.html actually serves: every anchor present
before is still present after, no id appears twice, the <head> is
byte-identical, and every link target on the page is unchanged.

site.xml needs no edit: src/site/fml/faq.fml and
src/site/markdown/faq.md both render to faq.html.

FML generates a [top] back-link after each answer; those are dropped
rather than hand-written, which is the only rendering loss.

Generated-by: Claude Opus 5 (1M context)
@slachiewicz
slachiewicz marked this pull request as ready for review August 10, 2026 01:09
@slachiewicz
slachiewicz merged commit b9d26d1 into master Aug 10, 2026
20 of 21 checks passed
@slachiewicz
slachiewicz deleted the faq-to-markdown branch August 10, 2026 01:09
@github-actions github-actions Bot added this to the 3.0.0-M3 milestone Aug 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant