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

   `doxia-converter` does the mechanical part of turning `src/site/apt` into 
`src/site/markdown` well. What it cannot do is warn you about the handful of 
differences between the two formats that are **not** mechanical and that damage 
a page silently — the converted Markdown looks correct and the rendered page is 
missing a heading.
   
   This adds a page collecting the ones worth knowing, all of which came out of 
actually converting Maven component sites:
   
   - **Velocity eats ATX headings below level one.** In a `*.md.vm` file, `##` 
is a Velocity line comment, so the heading vanishes before Doxia sees the 
document — no error, no warning. Covers the three ways out, in order of 
preference.
   - **APT-escaped references become live.** `$\{project.version\}` is 
unescaped by the parser, so a page documenting a default value ends up 
rendering something like `[org.apache.maven.model.ReportPlugin@c754401]`. 
`${esc.d}` is the fix; a backslash is not, and the page explains why.
   - **Encoding.** Without an explicit `-outEncoding UTF-8`, an ASCII source is 
autodetected as ISO-8859-1 and an APT escaped space is written as a lone `0xa0` 
byte.
   - What Markdown genuinely cannot express (table captions, intraword 
emphasis), and the APT constructs that render *incorrectly today* and come out 
better after conversion — so nobody "fixes" them back.
   
   It also adds `tools/normalize-site-page.py`. Comparing raw before/after HTML 
is too noisy to be useful (`<b>`/`<strong>`, attribute order, `<code>`/`<a>` 
nesting); the script reduces a generated page to its visible text plus link 
targets so a `diff` shows only what a reader would notice. The page documents 
the two scripting mistakes that make such a comparison silently vacuous.
   
   **Verified:** `mvn site` builds clean, the new page renders with all eight 
section headings intact, and the menu entry resolves.
   
   **One thing to call out:** I put the script at `tools/` because the repo has 
no existing home for non-Java tooling. Happy to move it, or to drop it and keep 
only the guide, if you would rather not carry a Python file here.
   
   <!-- Generated with assistance from Claude Opus 5; see the Generated-by 
trailer on the commit. -->


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