Skip to content

Convert the FAQ from FML to Markdown - #231

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

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

Conversation

@slachiewicz

Copy link
Copy Markdown
Member

Part of an estate-wide move of the remaining FAQ pages from FML to Markdown. This repo is
one of three pilots; the pattern here is the one the rest will follow.

Two commits, deliberately

  1. A pure rename, src/site/fml/faq.fmlsrc/site/markdown/faq.md, no content change.
  2. The rewrite.

Git records a rename plus a rewrite in a single commit as a delete and an add, which stops
git log --follow. Splitting them keeps the history — it currently traces back to 2021.
Please merge or rebase rather than squash, since squashing collapses the rename again.

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. Here id="Configure Reproducible Builds" is served as #Configure_Reproducible_Builds.

Markdown headings would instead get an anchor derived from the question text, which is a
different string. So the <a name> written here reproduces the anchor the live site
serves today
, not the raw attribute.

Verification

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

anchors served
before Configure_Reproducible_Builds, top, bodyColumn
after the same three, plus two heading-derived ids

Every anchor present before is still present after. The <head> is byte-identical, so the
title and metadata are unchanged. site.xml needs no edit — src/site/fml/faq.fml and
src/site/markdown/faq.md both render to faq.html.

What is lost

FML generates a [top] back-link after each answer. Those are dropped rather than
hand-written; it is the only rendering difference besides the question becoming an h3
heading instead of a definition term.

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)
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. FML renders
<faq id="Configure Reproducible Builds"> as the anchor
#Configure_Reproducible_Builds, because DoxiaUtils.encodeId rewrites an
id that is not a valid XML name. The <a name> emitted here reproduces
that rendered form, not the raw attribute, so the live URL still
resolves.

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:

  before: Configure_Reproducible_Builds, top, bodyColumn
  after:  the same three, plus two heading-derived ids

The <head> is byte-identical, so the title and metadata are 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.

The anchors are written <a id> rather than <a name>: maven-site-plugin
3.21.0 silently drops a name attribute from inline HTML, leaving the
build green and every deep link broken. The id form works on every
version and is the correct HTML5 spelling.

Generated-by: Claude Opus 5 (1M context)
@slachiewicz
slachiewicz marked this pull request as ready for review August 10, 2026 00:31
@slachiewicz
slachiewicz merged commit 5608b5c into master Aug 10, 2026
20 of 21 checks passed
@slachiewicz
slachiewicz deleted the faq-to-markdown branch August 10, 2026 00:31
@github-actions github-actions Bot added this to the 3.6.2 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