You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by sl...@apache.org on 2026/08/08 17:16:49 UTC

(maven) branch maven-4.0.x updated (bc8eae390f -> 331b4c504c)

This is an automated email from the ASF dual-hosted git repository.

slachiewicz pushed a change to branch maven-4.0.x
in repository https://gitbox.apache.org/repos/asf/maven.git


    from bc8eae390f Cover BuildStep.hasExecutions() with unit tests
     new 27ab7362f3 Rename the site documents ahead of converting them
     new 331b4c504c Port the site documentation from APT to Markdown

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 apache-maven/src/site/apt/index.apt.vm             |  43 ----
 .../src/site/markdown/index.md.vm                  |  34 ++-
 api/maven-api-cli/src/site/apt/index.apt           |  41 ----
 api/maven-api-cli/src/site/markdown/index.md       |  38 +++
 api/maven-api-metadata/src/site/apt/index.apt      |  33 ---
 .../maven-api-metadata/src/site/markdown/index.md  |  25 +-
 api/maven-api-model/src/site/apt/index.apt         |  36 ---
 .../maven-api-model/src/site/markdown/index.md     |  33 ++-
 api/maven-api-plugin/src/site/apt/index.apt        |  33 ---
 .../maven-api-plugin/src/site/markdown/index.md    |  25 +-
 api/maven-api-settings/src/site/apt/index.apt      |  35 ---
 .../maven-api-settings/src/site/markdown/index.md  |  27 +--
 api/maven-api-toolchain/src/site/apt/index.apt     |  35 ---
 .../maven-api-toolchain/src/site/markdown/index.md |  30 +--
 compat/maven-artifact/src/site/apt/index.apt       |  47 ----
 compat/maven-artifact/src/site/markdown/index.md   |  46 ++++
 compat/maven-compat/src/site/apt/index.apt         |  32 ---
 .../src/site/markdown/index.md}                    |  24 +-
 compat/maven-embedder/src/site/apt/cli.apt.vm      |  28 ---
 compat/maven-embedder/src/site/apt/index.apt.vm    |  52 ----
 compat/maven-embedder/src/site/apt/logging.apt     |  87 -------
 .../src/site/markdown/cli.md.vm}                   |  21 +-
 .../maven-embedder/src/site/markdown/index.md.vm   |  45 ++++
 compat/maven-embedder/src/site/markdown/logging.md |  68 ++++++
 compat/maven-model-builder/src/site/apt/index.apt  | 240 ------------------
 .../src/site/apt/super-pom.apt.vm                  |  30 ---
 .../maven-model-builder/src/site/markdown/index.md | 104 ++++++++
 .../src/site/markdown/super-pom.md.vm              |  19 +-
 compat/maven-model/src/site/apt/index.apt          |  41 ----
 compat/maven-model/src/site/markdown/index.md      |  37 +++
 compat/maven-plugin-api/src/site/apt/index.apt     |  45 ----
 compat/maven-plugin-api/src/site/markdown/index.md |  40 +++
 .../src/site/apt/index.apt                         |  59 -----
 .../src/site/markdown/index.md                     |  47 ++++
 .../src/site/apt/dependency-types.apt              |  82 -------
 .../maven-resolver-provider/src/site/apt/index.apt |  35 ---
 .../src/site/markdown/dependency-types.md          |  57 +++++
 .../src/site/markdown/index.md}                    |  30 +--
 .../internal/type/DefaultTypeProviderTest.java     |  26 +-
 compat/maven-settings/src/site/apt/index.apt       |  51 ----
 compat/maven-settings/src/site/markdown/index.md   |  43 ++++
 .../maven-toolchain-model/src/site/apt/index.apt   |  39 ---
 .../src/site/markdown/index.md                     |  35 +++
 impl/maven-core/src/site/apt/artifact-handlers.apt |  61 -----
 .../src/site/apt/configuration-management.apt      | 139 -----------
 .../maven-core/src/site/apt/core-extensions.apt.vm |  30 ---
 .../src/site/apt/default-bindings.apt.vm           |  64 -----
 .../apt/getting-to-container-configured-mojos.apt  | 102 --------
 impl/maven-core/src/site/apt/index.apt             |  97 --------
 impl/maven-core/src/site/apt/inheritance.apt       | 100 --------
 impl/maven-core/src/site/apt/lifecycles.apt.vm     |  49 ----
 impl/maven-core/src/site/apt/offline-mode.apt      | 269 ---------------------
 .../src/site/apt/plugin-execution-isolation.apt    |  57 -----
 .../src/site/markdown/artifact-handlers.md         |  47 ++++
 .../src/site/markdown/configuration-management.md  | 102 ++++++++
 .../markdown/core-extensions.md.vm}                |  21 +-
 .../src/site/markdown/default-bindings.md.vm       |  70 ++++++
 .../getting-to-container-configured-mojos.md       |  71 ++++++
 impl/maven-core/src/site/markdown/index.md         |  61 +++++
 impl/maven-core/src/site/markdown/inheritance.md   |  78 ++++++
 impl/maven-core/src/site/markdown/lifecycles.md.vm |  52 ++++
 impl/maven-core/src/site/markdown/offline-mode.md  | 165 +++++++++++++
 .../site/markdown/plugin-execution-isolation.md    |  42 ++++
 .../artifact/handler/ArtifactHandlerTest.java      |  21 +-
 impl/maven-impl/src/site/apt/dependency-types.apt  |  82 -------
 .../src/site/markdown/dependency-types.md          |  57 +++++
 .../resolver/type/DefaultTypeProviderTest.java     |  26 +-
 impl/maven-logging/src/site/apt/index.apt          |  35 ---
 .../maven-logging/src/site/markdown/index.md       |  30 +--
 its/core-it-suite/src/site/apt/bootstrap.apt.vm    |  96 --------
 its/core-it-suite/src/site/apt/index.apt.vm        |  79 ------
 .../src/site/markdown/bootstrap.md.vm              | 108 +++++++++
 its/core-it-suite/src/site/markdown/index.md.vm    |  68 ++++++
 .../src/site/apt/index.apt.vm                      |  13 -
 .../src/site/markdown/index.md.vm                  |  12 +
 .../core-it-plugins/src/site/apt/index.apt.vm      |  13 -
 .../core-it-plugins/src/site/markdown/index.md.vm  |  12 +
 its/src/site/apt/index.apt                         |  74 ------
 its/src/site/markdown/index.md                     |  62 +++++
 79 files changed, 1761 insertions(+), 2682 deletions(-)
 delete mode 100644 apache-maven/src/site/apt/index.apt.vm
 copy compat/maven-compat/src/test/remote-repo/org/apache/maven/its/a/0.1/a-0.1.pom => apache-maven/src/site/markdown/index.md.vm (53%)
 delete mode 100644 api/maven-api-cli/src/site/apt/index.apt
 create mode 100644 api/maven-api-cli/src/site/markdown/index.md
 delete mode 100644 api/maven-api-metadata/src/site/apt/index.apt
 copy impl/maven-core/src/test/resources-project-builder/pom-inheritance/child-1/pom.xml => api/maven-api-metadata/src/site/markdown/index.md (64%)
 delete mode 100644 api/maven-api-model/src/site/apt/index.apt
 copy its/core-it-suite/src/test/resources/mng-2068/test-1/parent/pom.xml => api/maven-api-model/src/site/markdown/index.md (58%)
 delete mode 100644 api/maven-api-plugin/src/site/apt/index.apt
 copy impl/maven-core/src/test/resources-project-builder/pom-inheritance/child-1/pom.xml => api/maven-api-plugin/src/site/markdown/index.md (63%)
 delete mode 100644 api/maven-api-settings/src/site/apt/index.apt
 copy impl/maven-core/src/test/resources-project-builder/url-inheritance/another-parent/pom.xml => api/maven-api-settings/src/site/markdown/index.md (58%)
 delete mode 100644 api/maven-api-toolchain/src/site/apt/index.apt
 copy compat/maven-compat/src/test/remote-repo/org/apache/maven/its/a/0.1/a-0.1.pom => api/maven-api-toolchain/src/site/markdown/index.md (57%)
 delete mode 100644 compat/maven-artifact/src/site/apt/index.apt
 create mode 100644 compat/maven-artifact/src/site/markdown/index.md
 delete mode 100644 compat/maven-compat/src/site/apt/index.apt
 copy compat/{maven-model-builder/src/test/resources/poms/validation/raw-model/minimal-with-parent.xml => maven-compat/src/site/markdown/index.md} (57%)
 delete mode 100644 compat/maven-embedder/src/site/apt/cli.apt.vm
 delete mode 100644 compat/maven-embedder/src/site/apt/index.apt.vm
 delete mode 100644 compat/maven-embedder/src/site/apt/logging.apt
 copy compat/{maven-model-builder/src/test/resources/poms/validation/incomplete-parent.xml => maven-embedder/src/site/markdown/cli.md.vm} (73%)
 create mode 100644 compat/maven-embedder/src/site/markdown/index.md.vm
 create mode 100644 compat/maven-embedder/src/site/markdown/logging.md
 delete mode 100644 compat/maven-model-builder/src/site/apt/index.apt
 delete mode 100644 compat/maven-model-builder/src/site/apt/super-pom.apt.vm
 create mode 100644 compat/maven-model-builder/src/site/markdown/index.md
 copy its/core-it-suite/src/test/resources/mng-5663-nested-import-scope-pom-resolution/repo-2/org/apache/maven/its/mng5663/c/0.1/c-0.1.pom => compat/maven-model-builder/src/site/markdown/super-pom.md.vm (70%)
 delete mode 100644 compat/maven-model/src/site/apt/index.apt
 create mode 100644 compat/maven-model/src/site/markdown/index.md
 delete mode 100644 compat/maven-plugin-api/src/site/apt/index.apt
 create mode 100644 compat/maven-plugin-api/src/site/markdown/index.md
 delete mode 100644 compat/maven-repository-metadata/src/site/apt/index.apt
 create mode 100644 compat/maven-repository-metadata/src/site/markdown/index.md
 delete mode 100644 compat/maven-resolver-provider/src/site/apt/dependency-types.apt
 delete mode 100644 compat/maven-resolver-provider/src/site/apt/index.apt
 create mode 100644 compat/maven-resolver-provider/src/site/markdown/dependency-types.md
 copy compat/{maven-compat/src/test/remote-repo/org/apache/maven/its/a/0.1/a-0.1.pom => maven-resolver-provider/src/site/markdown/index.md} (55%)
 delete mode 100644 compat/maven-settings/src/site/apt/index.apt
 create mode 100644 compat/maven-settings/src/site/markdown/index.md
 delete mode 100644 compat/maven-toolchain-model/src/site/apt/index.apt
 create mode 100644 compat/maven-toolchain-model/src/site/markdown/index.md
 delete mode 100644 impl/maven-core/src/site/apt/artifact-handlers.apt
 delete mode 100644 impl/maven-core/src/site/apt/configuration-management.apt
 delete mode 100644 impl/maven-core/src/site/apt/core-extensions.apt.vm
 delete mode 100644 impl/maven-core/src/site/apt/default-bindings.apt.vm
 delete mode 100644 impl/maven-core/src/site/apt/getting-to-container-configured-mojos.apt
 delete mode 100644 impl/maven-core/src/site/apt/index.apt
 delete mode 100644 impl/maven-core/src/site/apt/inheritance.apt
 delete mode 100644 impl/maven-core/src/site/apt/lifecycles.apt.vm
 delete mode 100644 impl/maven-core/src/site/apt/offline-mode.apt
 delete mode 100644 impl/maven-core/src/site/apt/plugin-execution-isolation.apt
 create mode 100644 impl/maven-core/src/site/markdown/artifact-handlers.md
 create mode 100644 impl/maven-core/src/site/markdown/configuration-management.md
 copy impl/maven-core/src/{test/projects/lifecycle-dependency-resolver/lib/pom.xml => site/markdown/core-extensions.md.vm} (65%)
 create mode 100644 impl/maven-core/src/site/markdown/default-bindings.md.vm
 create mode 100644 impl/maven-core/src/site/markdown/getting-to-container-configured-mojos.md
 create mode 100644 impl/maven-core/src/site/markdown/index.md
 create mode 100644 impl/maven-core/src/site/markdown/inheritance.md
 create mode 100644 impl/maven-core/src/site/markdown/lifecycles.md.vm
 create mode 100644 impl/maven-core/src/site/markdown/offline-mode.md
 create mode 100644 impl/maven-core/src/site/markdown/plugin-execution-isolation.md
 delete mode 100644 impl/maven-impl/src/site/apt/dependency-types.apt
 create mode 100644 impl/maven-impl/src/site/markdown/dependency-types.md
 delete mode 100644 impl/maven-logging/src/site/apt/index.apt
 copy compat/maven-compat/src/test/remote-repo/org/apache/maven/its/a/0.1/a-0.1.pom => impl/maven-logging/src/site/markdown/index.md (56%)
 delete mode 100644 its/core-it-suite/src/site/apt/bootstrap.apt.vm
 delete mode 100644 its/core-it-suite/src/site/apt/index.apt.vm
 create mode 100644 its/core-it-suite/src/site/markdown/bootstrap.md.vm
 create mode 100644 its/core-it-suite/src/site/markdown/index.md.vm
 delete mode 100644 its/core-it-support/core-it-plugins/maven-it-plugin-core-stubs/src/site/apt/index.apt.vm
 create mode 100644 its/core-it-support/core-it-plugins/maven-it-plugin-core-stubs/src/site/markdown/index.md.vm
 delete mode 100644 its/core-it-support/core-it-plugins/src/site/apt/index.apt.vm
 create mode 100644 its/core-it-support/core-it-plugins/src/site/markdown/index.md.vm
 delete mode 100644 its/src/site/apt/index.apt
 create mode 100644 its/src/site/markdown/index.md


(maven) 02/02: Port the site documentation from APT to Markdown

Posted by sl...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

slachiewicz pushed a commit to branch maven-4.0.x
in repository https://gitbox.apache.org/repos/asf/maven.git

commit 331b4c504cc4460a53932fdc02ab23d6a508ac1d
Author: Sylwester Lachiewicz <sl...@apache.org>
AuthorDate: Sat Aug 8 17:27:46 2026 +0200

    Port the site documentation from APT to Markdown
    
    38 page(s) converted with doxia-converter and then cleaned up by hand:
    
    - <<<code>>> becomes backticks, <<bold>> becomes **bold**, {{{url}text}}
      becomes [text](url)
    - the APT header becomes YAML front matter, so the page keeps its title,
      authors and date; the ASF license header becomes a single block HTML
      comment below it
    - a page that keeps a Velocity reference stays a .vm. Velocity reads ## as a
      line comment and would silently swallow every ATX heading below level one,
      so subsections use setext underlines and anything deeper is wrapped in
      #[[ ... ]]#
    
    Two tests read the dependency types table straight out of the site
    documentation to check it against DefaultTypeProvider, and one reads the
    artifact handlers table, so they follow the pages to Markdown. APT let a
    table carry a second header row part way down to group the rows beneath it;
    a Markdown table has one header row only, so those group labels are now
    ordinary rows carrying bold text, and the tests skip a row whose only filled
    column is the first.
    
    Verified by building the site before and after and comparing all 590
    generated pages: title, authors, date, visible text and link targets are
    unchanged, apart from three places where the APT rendering was wrong and
    Markdown repairs it. APT reads {x} as an anchor, so eight references written
    ${x} rendered as a bare $ followed by an invented anchor and now read
    ${x}; APT reads <x> as italics, so <developerConnection/> lost its angle
    brackets three times and now keeps them. In configuration-management, a
    paragraph reading "Properties" is now a heading, the property list beneath
    it is a code block that keeps the column alignment APT collapsed, and four
    lines prefixed with a literal "o" are now a list.
    
    This is the maven-4.0.x counterpart of the same change on master
    (d4b5e850104571580ae7105a20ecf2b5a08bc07b).
---
 apache-maven/src/site/markdown/index.md.vm         |  82 +++--
 api/maven-api-cli/src/site/markdown/index.md       |  79 +++--
 api/maven-api-metadata/src/site/markdown/index.md  |  54 ++--
 api/maven-api-model/src/site/markdown/index.md     |  73 ++---
 api/maven-api-plugin/src/site/markdown/index.md    |  54 ++--
 api/maven-api-settings/src/site/markdown/index.md  |  70 ++---
 api/maven-api-toolchain/src/site/markdown/index.md |  70 ++---
 compat/maven-artifact/src/site/markdown/index.md   |  75 +++--
 compat/maven-compat/src/site/markdown/index.md     |  55 ++--
 compat/maven-embedder/src/site/markdown/cli.md.vm  |  51 +--
 .../maven-embedder/src/site/markdown/index.md.vm   |  97 +++---
 compat/maven-embedder/src/site/markdown/logging.md | 135 ++++----
 .../maven-model-builder/src/site/markdown/index.md | 344 +++++++--------------
 .../src/site/markdown/super-pom.md.vm              |  53 ++--
 compat/maven-model/src/site/markdown/index.md      |  64 ++--
 compat/maven-plugin-api/src/site/markdown/index.md |  85 +++--
 .../src/site/markdown/index.md                     |  82 +++--
 .../src/site/markdown/dependency-types.md          | 129 ++++----
 .../src/site/markdown/index.md                     |  58 ++--
 .../internal/type/DefaultTypeProviderTest.java     |  26 +-
 compat/maven-settings/src/site/markdown/index.md   |  94 +++---
 .../src/site/markdown/index.md                     |  60 ++--
 .../src/site/markdown/artifact-handlers.md         | 108 +++----
 .../src/site/markdown/configuration-management.md  | 181 +++++------
 .../src/site/markdown/core-extensions.md.vm        |  53 ++--
 .../src/site/markdown/default-bindings.md.vm       |  94 +++---
 .../getting-to-container-configured-mojos.md       | 123 +++-----
 impl/maven-core/src/site/markdown/index.md         | 158 ++++------
 impl/maven-core/src/site/markdown/inheritance.md   | 114 +++----
 impl/maven-core/src/site/markdown/lifecycles.md.vm |  75 ++---
 impl/maven-core/src/site/markdown/offline-mode.md  | 302 ++++++------------
 .../site/markdown/plugin-execution-isolation.md    |  83 ++---
 .../artifact/handler/ArtifactHandlerTest.java      |  21 +-
 .../src/site/markdown/dependency-types.md          | 129 ++++----
 .../resolver/type/DefaultTypeProviderTest.java     |  26 +-
 impl/maven-logging/src/site/markdown/index.md      |  70 ++---
 .../src/site/markdown/bootstrap.md.vm              | 134 ++++----
 its/core-it-suite/src/site/markdown/index.md.vm    | 119 ++++---
 .../src/site/markdown/index.md.vm                  |  19 +-
 .../core-it-plugins/src/site/markdown/index.md.vm  |  19 +-
 its/src/site/markdown/index.md                     | 110 +++----
 41 files changed, 1671 insertions(+), 2157 deletions(-)

diff --git a/apache-maven/src/site/markdown/index.md.vm b/apache-maven/src/site/markdown/index.md.vm
index ae7ff8fd49..0e05b5d1a3 100644
--- a/apache-maven/src/site/markdown/index.md.vm
+++ b/apache-maven/src/site/markdown/index.md.vm
@@ -1,43 +1,39 @@
-~~ Licensed to the Apache Software Foundation (ASF) under one
-~~ or more contributor license agreements.  See the NOTICE file
-~~ distributed with this work for additional information
-~~ regarding copyright ownership.  The ASF licenses this file
-~~ to you under the Apache License, Version 2.0 (the
-~~ "License"); you may not use this file except in compliance
-~~ with the License.  You may obtain a copy of the License at
-~~
-~~ http://www.apache.org/licenses/LICENSE-2.0
-~~
-~~ Unless required by applicable law or agreed to in writing,
-~~ software distributed under the License is distributed on an
-~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-~~ KIND, either express or implied.  See the License for the
-~~ specific language governing permissions and limitations
-~~ under the License.
-
- -----
- ${project.name}
- -----
- Hervé Boutemy
- -----
- 2021-07-11
- -----
-
-${project.name}
-
- ${project.description}
-
-* References
-
- * <<<mvn>>> invocation can be customized through pre-invocation script calls, that can be disabled by setting <<<MAVEN_SKIP_RC>>> environment variable:
-
-*----------+--------------------------------------------+-----------------------+
-||         || system level                              || user level 
-*----------+--------------------------------------------+-----------------------+
-|| POSIX   | <<</etc/mavenrc>>>\
-||         | <<</usr/local/etc/mavenrc>>> (since 3.8.2) | <<<$HOME/.mavenrc>>> 
-*----------+--------------------------------------------+-----------------------+
-|| Windows | <<<%PROGRAMDATA%\\mavenrc.cmd>>> (since 4) | <<<%USERPROFILE%\\mavenrc_pre.bat>>>\
-||         |                                            | <<<%USERPROFILE%\\mavenrc_pre.cmd>>> (since 3.3.1)\
-||         |                                            | <<<%USERPROFILE%\\mavenrc.cmd>>> (since 4)
-*----------+--------------------------------------------+-----------------------+
+---
+title: ${project.name}
+author:
+  - Hervé Boutemy
+date: 2021-07-11
+---
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+# ${project.name}
+
+${project.description}
+
+References
+----------
+
+- `mvn` invocation can be customized through pre-invocation script calls, that can be disabled by setting `MAVEN_SKIP_RC` environment variable:
+
+    ||system level|user level|
+|:---|:---|:---|
+|POSIX|`/etc/mavenrc` <br />`/usr/local/etc/mavenrc` (since 3.8.2)|`$HOME/.mavenrc`|
+|Windows|`%PROGRAMDATA%\mavenrc.cmd` (since 4)|`%USERPROFILE%\mavenrc_pre.bat` <br />`%USERPROFILE%\mavenrc_pre.cmd` (since 3.3.1) <br />`%USERPROFILE%\mavenrc.cmd` (since 4)|
diff --git a/api/maven-api-cli/src/site/markdown/index.md b/api/maven-api-cli/src/site/markdown/index.md
index 8d901b3525..e8a3b1f89f 100644
--- a/api/maven-api-cli/src/site/markdown/index.md
+++ b/api/maven-api-cli/src/site/markdown/index.md
@@ -1,41 +1,38 @@
-~~ Licensed to the Apache Software Foundation (ASF) under one
-~~ or more contributor license agreements.  See the NOTICE file
-~~ distributed with this work for additional information
-~~ regarding copyright ownership.  The ASF licenses this file
-~~ to you under the Apache License, Version 2.0 (the
-~~ "License"); you may not use this file except in compliance
-~~ with the License.  You may obtain a copy of the License at
-~~
-~~ http://www.apache.org/licenses/LICENSE-2.0
-~~
-~~ Unless required by applicable law or agreed to in writing,
-~~ software distributed under the License is distributed on an
-~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-~~ KIND, either express or implied.  See the License for the
-~~ specific language governing permissions and limitations
-~~ under the License.
-
- -----
- Introduction
- -----
- Hervé Boutemy
- -----
- 2025-11-16
- -----
-
-Maven 4 API - CLI
-
- This is the {{{./apidocs/org/apache/maven/api/cli/package-summary.html}API}} for Maven's command-line interface and
- tools:
-
-   * <<<{{{./apidocs/org/apache/maven/api/cli/mvn/package-summary.html}mvn}}>>>, the Maven build tool,
-
-   * <<<{{{./apidocs/org/apache/maven/api/cli/mvnenc/package-summary.html}mvnenc}}>>>, the Maven Password Encryption tool,
-
-   * <<<{{{./apidocs/org/apache/maven/api/cli/mvnsh/package-summary.html}mvnsh}}>>>, the Maven Shell tool,
-
-   * <<<{{{./apidocs/org/apache/maven/api/cli/mvnup/package-summary.html}mvnup}}>>>, the Maven Upgrade tool.
-
- This API also defines {{{./core-extensions.html}Core Extensions model}} for <<<.mvn/extensions.xml>>>.
-
- See also associated {{{../../impl/maven-cli/index.html}implementation}}.
\ No newline at end of file
+---
+title: Introduction
+author:
+  - Hervé Boutemy
+date: 2025-11-16
+---
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+# Maven 4 API - CLI
+
+This is the [API](./apidocs/org/apache/maven/api/cli/package-summary.html) for Maven's command-line interface and tools:
+
+- [`mvn`](./apidocs/org/apache/maven/api/cli/mvn/package-summary.html), the Maven build tool,
+- [`mvnenc`](./apidocs/org/apache/maven/api/cli/mvnenc/package-summary.html), the Maven Password Encryption tool,
+- [`mvnsh`](./apidocs/org/apache/maven/api/cli/mvnsh/package-summary.html), the Maven Shell tool,
+- [`mvnup`](./apidocs/org/apache/maven/api/cli/mvnup/package-summary.html), the Maven Upgrade tool.
+
+This API also defines [Core Extensions model](./core-extensions.html) for `.mvn/extensions.xml`.
+
+See also associated [implementation](../../impl/maven-cli/index.html).
diff --git a/api/maven-api-metadata/src/site/markdown/index.md b/api/maven-api-metadata/src/site/markdown/index.md
index a3f76ef0a6..aa8efec12b 100644
--- a/api/maven-api-metadata/src/site/markdown/index.md
+++ b/api/maven-api-metadata/src/site/markdown/index.md
@@ -1,33 +1,33 @@
-~~ Licensed to the Apache Software Foundation (ASF) under one
-~~ or more contributor license agreements.  See the NOTICE file
-~~ distributed with this work for additional information
-~~ regarding copyright ownership.  The ASF licenses this file
-~~ to you under the Apache License, Version 2.0 (the
-~~ "License"); you may not use this file except in compliance
-~~ with the License.  You may obtain a copy of the License at
-~~
-~~ http://www.apache.org/licenses/LICENSE-2.0
-~~
-~~ Unless required by applicable law or agreed to in writing,
-~~ software distributed under the License is distributed on an
-~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-~~ KIND, either express or implied.  See the License for the
-~~ specific language governing permissions and limitations
-~~ under the License.
+---
+title: Introduction
+author:
+  - Guillaume Nodet
+date: 2024-04-04
+---
 
- -----
- Introduction
- -----
- Guillaume Nodet
- -----
- 2024-04-04
- -----
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
 
-Maven 4 API - Repository Metadata Model
+http://www.apache.org/licenses/LICENSE-2.0
 
- This is the immutable model for Repository Metadata in <<<org.apache.maven.api.metadata>>> package.
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
 
- The following are generated from this model:
+# Maven 4 API - Repository Metadata Model
 
-   * {{{./apidocs/index.html}Java sources}} with <<<Builder>>> inner classes for immutable instances creation.
+This is the immutable model for Repository Metadata in `org.apache.maven.api.metadata` package.
 
+The following are generated from this model:
+
+- [Java sources](./apidocs/index.html) with `Builder` inner classes for immutable instances creation.
diff --git a/api/maven-api-model/src/site/markdown/index.md b/api/maven-api-model/src/site/markdown/index.md
index 5720df24da..a25b29dc94 100644
--- a/api/maven-api-model/src/site/markdown/index.md
+++ b/api/maven-api-model/src/site/markdown/index.md
@@ -1,36 +1,37 @@
-~~ Licensed to the Apache Software Foundation (ASF) under one
-~~ or more contributor license agreements.  See the NOTICE file
-~~ distributed with this work for additional information
-~~ regarding copyright ownership.  The ASF licenses this file
-~~ to you under the Apache License, Version 2.0 (the
-~~ "License"); you may not use this file except in compliance
-~~ with the License.  You may obtain a copy of the License at
-~~
-~~ http://www.apache.org/licenses/LICENSE-2.0
-~~
-~~ Unless required by applicable law or agreed to in writing,
-~~ software distributed under the License is distributed on an
-~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-~~ KIND, either express or implied.  See the License for the
-~~ specific language governing permissions and limitations
-~~ under the License.
-
- -----
- Introduction
- -----
- Jason van Zyl
- Vincent Siveton
- Hervé Boutemy
- -----
- 2011-06-12
- -----
-
-Maven 4 API - Immutable Maven Model
-
- This is strictly the immutable model for Maven POM (Project Object Model), so really just plain objects in <<<org.apache.maven.api.model>>> package.
-
- The following are generated from this model:
-
-   * {{{./apidocs/index.html}Java sources}} with <<<Builder>>> inner classes for immutable instances creation.
-
- See also corresponding {{{../../compat/maven-model/index.html}Maven classical POM model documentation}}.
+---
+title: Introduction
+author:
+  - Jason van Zyl
+  - Vincent Siveton
+  - Hervé Boutemy
+date: 2011-06-12
+---
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+# Maven 4 API - Immutable Maven Model
+
+This is strictly the immutable model for Maven POM (Project Object Model), so really just plain objects in `org.apache.maven.api.model` package.
+
+The following are generated from this model:
+
+- [Java sources](./apidocs/index.html) with `Builder` inner classes for immutable instances creation.
+
+See also corresponding [Maven classical POM model documentation](../../compat/maven-model/index.html).
diff --git a/api/maven-api-plugin/src/site/markdown/index.md b/api/maven-api-plugin/src/site/markdown/index.md
index f229c29d8a..dd79eb098d 100644
--- a/api/maven-api-plugin/src/site/markdown/index.md
+++ b/api/maven-api-plugin/src/site/markdown/index.md
@@ -1,33 +1,33 @@
-~~ Licensed to the Apache Software Foundation (ASF) under one
-~~ or more contributor license agreements.  See the NOTICE file
-~~ distributed with this work for additional information
-~~ regarding copyright ownership.  The ASF licenses this file
-~~ to you under the Apache License, Version 2.0 (the
-~~ "License"); you may not use this file except in compliance
-~~ with the License.  You may obtain a copy of the License at
-~~
-~~ http://www.apache.org/licenses/LICENSE-2.0
-~~
-~~ Unless required by applicable law or agreed to in writing,
-~~ software distributed under the License is distributed on an
-~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-~~ KIND, either express or implied.  See the License for the
-~~ specific language governing permissions and limitations
-~~ under the License.
+---
+title: Introduction
+author:
+  - Guillaume Nodet
+date: 2023-11-15
+---
 
- -----
- Introduction
- -----
- Guillaume Nodet
- -----
- 2023-11-15
- -----
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
 
-Maven 4 API - Plugin Descriptor Model
+http://www.apache.org/licenses/LICENSE-2.0
 
- This is the immutable model for Maven Plugin Descriptor in <<<org.apache.maven.api.plugin.descriptor>>> package.
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
 
- The following are generated from this model:
+# Maven 4 API - Plugin Descriptor Model
 
-   * {{{./apidocs/index.html}Java sources}} with <<<Builder>>> inner classes for immutable instances creation.
+This is the immutable model for Maven Plugin Descriptor in `org.apache.maven.api.plugin.descriptor` package.
 
+The following are generated from this model:
+
+- [Java sources](./apidocs/index.html) with `Builder` inner classes for immutable instances creation.
diff --git a/api/maven-api-settings/src/site/markdown/index.md b/api/maven-api-settings/src/site/markdown/index.md
index b650c8e1c9..9037c32829 100644
--- a/api/maven-api-settings/src/site/markdown/index.md
+++ b/api/maven-api-settings/src/site/markdown/index.md
@@ -1,35 +1,35 @@
-~~ Licensed to the Apache Software Foundation (ASF) under one
-~~ or more contributor license agreements.  See the NOTICE file
-~~ distributed with this work for additional information
-~~ regarding copyright ownership.  The ASF licenses this file
-~~ to you under the Apache License, Version 2.0 (the
-~~ "License"); you may not use this file except in compliance
-~~ with the License.  You may obtain a copy of the License at
-~~
-~~ http://www.apache.org/licenses/LICENSE-2.0
-~~
-~~ Unless required by applicable law or agreed to in writing,
-~~ software distributed under the License is distributed on an
-~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-~~ KIND, either express or implied.  See the License for the
-~~ specific language governing permissions and limitations
-~~ under the License.
-
- -----
- Introduction
- -----
- Vincent Siveton
- -----
- 2006-11-04
- -----
-
-Maven 4 API - Immutable Settings Model
-
- This is strictly the immutable model for Maven settings in <<<org.apache.maven.api.settings>>> package.
-
- The following are generated from this model:
-
-   * {{{./apidocs/index.html}Java sources}} with <<<Builder>>> inner classes for immutable instances creation.
-
- See also corresponding {{{../../compat/maven-settings/index.html}Maven classical settings model documentation}}.
- 
\ No newline at end of file
+---
+title: Introduction
+author:
+  - Vincent Siveton
+date: 2006-11-04
+---
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+# Maven 4 API - Immutable Settings Model
+
+This is strictly the immutable model for Maven settings in `org.apache.maven.api.settings` package.
+
+The following are generated from this model:
+
+- [Java sources](./apidocs/index.html) with `Builder` inner classes for immutable instances creation.
+
+See also corresponding [Maven classical settings model documentation](../../compat/maven-settings/index.html).
diff --git a/api/maven-api-toolchain/src/site/markdown/index.md b/api/maven-api-toolchain/src/site/markdown/index.md
index f1a76e9c98..83ea092ac1 100644
--- a/api/maven-api-toolchain/src/site/markdown/index.md
+++ b/api/maven-api-toolchain/src/site/markdown/index.md
@@ -1,35 +1,35 @@
-~~ Licensed to the Apache Software Foundation (ASF) under one
-~~ or more contributor license agreements.  See the NOTICE file
-~~ distributed with this work for additional information
-~~ regarding copyright ownership.  The ASF licenses this file
-~~ to you under the Apache License, Version 2.0 (the
-~~ "License"); you may not use this file except in compliance
-~~ with the License.  You may obtain a copy of the License at
-~~
-~~ http://www.apache.org/licenses/LICENSE-2.0
-~~
-~~ Unless required by applicable law or agreed to in writing,
-~~ software distributed under the License is distributed on an
-~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-~~ KIND, either express or implied.  See the License for the
-~~ specific language governing permissions and limitations
-~~ under the License.
-
- -----
- Introduction
- -----
- Vincent Siveton
- -----
- 2006-11-04
- -----
-
-Maven 4 API - Immutable Toolchains Model
-
- This is strictly the immutable model for Maven toolchains in <<<org.apache.maven.api.toolchain>>> package.
-
- The following are generated from this model:
-
-   * {{{./apidocs/index.html}Java sources}} with <<<Builder>>> inner classes for immutable instances creation.
-
- See also corresponding {{{../../compat/maven-toolchain-model/index.html}Maven classical toolchains model documentation}}.
- 
\ No newline at end of file
+---
+title: Introduction
+author:
+  - Vincent Siveton
+date: 2006-11-04
+---
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+# Maven 4 API - Immutable Toolchains Model
+
+This is strictly the immutable model for Maven toolchains in `org.apache.maven.api.toolchain` package.
+
+The following are generated from this model:
+
+- [Java sources](./apidocs/index.html) with `Builder` inner classes for immutable instances creation.
+
+See also corresponding [Maven classical toolchains model documentation](../../compat/maven-toolchain-model/index.html).
diff --git a/compat/maven-artifact/src/site/markdown/index.md b/compat/maven-artifact/src/site/markdown/index.md
index f796c11844..5fa0175c11 100644
--- a/compat/maven-artifact/src/site/markdown/index.md
+++ b/compat/maven-artifact/src/site/markdown/index.md
@@ -1,36 +1,36 @@
-~~ Licensed to the Apache Software Foundation (ASF) under one
-~~ or more contributor license agreements.  See the NOTICE file
-~~ distributed with this work for additional information
-~~ regarding copyright ownership.  The ASF licenses this file
-~~ to you under the Apache License, Version 2.0 (the
-~~ "License"); you may not use this file except in compliance
-~~ with the License.  You may obtain a copy of the License at
-~~
-~~ http://www.apache.org/licenses/LICENSE-2.0
-~~
-~~ Unless required by applicable law or agreed to in writing,
-~~ software distributed under the License is distributed on an
-~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-~~ KIND, either express or implied.  See the License for the
-~~ specific language governing permissions and limitations
-~~ under the License.
-
- -----
- Introduction
- -----
- Hervé Boutemy
- -----
- 2014-11-30
- -----
-
-Maven Artifact
-
- Maven Artifact classes, providing <<<Artifact>>> interface ({{{./apidocs/org/apache/maven/artifact/Artifact.html}javadoc}}),
- with its <<<DefaultArtifact>>> implementation ({{{./xref/org/apache/maven/artifact/DefaultArtifact.html}source}}).
-
- The jar file is executable and provides a little tool to display how Maven parses and compares versions:
-
-+----+
+---
+title: Introduction
+author:
+  - Hervé Boutemy
+date: 2014-11-30
+---
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+# Maven Artifact
+
+Maven Artifact classes, providing `Artifact` interface ([javadoc](./apidocs/org/apache/maven/artifact/Artifact.html)), with its `DefaultArtifact` implementation ([source](./xref/org/apache/maven/artifact/DefaultArtifact.html)).
+
+The jar file is executable and provides a little tool to display how Maven parses and compares versions:
+
+```shell
 $ java -jar maven-artifact-*.jar 3.2.4-alpha-1 3.2.4-SNAPSHOT 3.2.4.0
 Display parameters as parsed by Maven (in canonical form) and comparison result:
 1. 3.2.4-alpha-1 == 3.2.4.alpha.1
@@ -38,10 +38,9 @@ Display parameters as parsed by Maven (in canonical form) and comparison result:
 2. 3.2.4-SNAPSHOT == 3.2.4.snapshot
    3.2.4-SNAPSHOT < 3.2.4.0
 3. 3.2.4.0 == 3.2.4
-+----+
+```
 
-* Useful entry points
+## Useful entry points
 
- * artifact version comparison {{{./apidocs/org/apache/maven/artifact/versioning/ComparableVersion.html}javadoc}},
-
- * {{{./apidocs/org/apache/maven/artifact/versioning/VersionRange.html}version range}}.
+- artifact version comparison [javadoc](./apidocs/org/apache/maven/artifact/versioning/ComparableVersion.html),
+- [version range](./apidocs/org/apache/maven/artifact/versioning/VersionRange.html).
diff --git a/compat/maven-compat/src/site/markdown/index.md b/compat/maven-compat/src/site/markdown/index.md
index a288cdcc3d..27082c61a0 100644
--- a/compat/maven-compat/src/site/markdown/index.md
+++ b/compat/maven-compat/src/site/markdown/index.md
@@ -1,32 +1,31 @@
-~~ Licensed to the Apache Software Foundation (ASF) under one
-~~ or more contributor license agreements.  See the NOTICE file
-~~ distributed with this work for additional information
-~~ regarding copyright ownership.  The ASF licenses this file
-~~ to you under the Apache License, Version 2.0 (the
-~~ "License"); you may not use this file except in compliance
-~~ with the License.  You may obtain a copy of the License at
-~~
-~~ http://www.apache.org/licenses/LICENSE-2.0
-~~
-~~ Unless required by applicable law or agreed to in writing,
-~~ software distributed under the License is distributed on an
-~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-~~ KIND, either express or implied.  See the License for the
-~~ specific language governing permissions and limitations
-~~ under the License.
+---
+title: Introduction
+author:
+  - Hervé Boutemy
+date: 2016-05-29
+---
 
- -----
- Introduction
- -----
- Hervé Boutemy
- -----
- 2016-05-29
- -----
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
 
-Maven Compat
+http://www.apache.org/licenses/LICENSE-2.0
 
- Maven2 classes maintained as compatibility layer for plugins that need to keep Maven2 compatibility.
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
 
- Plugins should avoid these classes and be updated to use only Maven3 dependencies (and require Maven3): see
- {{{https://cwiki.apache.org/confluence/display/MAVEN/Plugin+migration+to+Maven3+dependencies} Plugin migration to Maven3 dependencies}}
- documentation to get hints on how to make the update.
+# Maven Compat
+
+Maven2 classes maintained as compatibility layer for plugins that need to keep Maven2 compatibility.
+
+Plugins should avoid these classes and be updated to use only Maven3 dependencies (and require Maven3): see [Plugin migration to Maven3 dependencies](https://cwiki.apache.org/confluence/display/MAVEN/Plugin+migration+to+Maven3+dependencies) documentation to get hints on how to make the update.
diff --git a/compat/maven-embedder/src/site/markdown/cli.md.vm b/compat/maven-embedder/src/site/markdown/cli.md.vm
index b5dcae7122..54f3413940 100644
--- a/compat/maven-embedder/src/site/markdown/cli.md.vm
+++ b/compat/maven-embedder/src/site/markdown/cli.md.vm
@@ -1,28 +1,29 @@
-~~ Licensed to the Apache Software Foundation (ASF) under one
-~~ or more contributor license agreements.  See the NOTICE file
-~~ distributed with this work for additional information
-~~ regarding copyright ownership.  The ASF licenses this file
-~~ to you under the Apache License, Version 2.0 (the
-~~ "License"); you may not use this file except in compliance
-~~ with the License.  You may obtain a copy of the License at
-~~
-~~ http://www.apache.org/licenses/LICENSE-2.0
-~~
-~~ Unless required by applicable law or agreed to in writing,
-~~ software distributed under the License is distributed on an
-~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-~~ KIND, either express or implied.  See the License for the
-~~ specific language governing permissions and limitations
-~~ under the License.
+---
+title: Maven CLI Options Reference
+author:
+  - Hervé Boutemy
+date: 2012-04-29
+---
 
- -----
- Maven CLI Options Reference
- -----
- Hervé Boutemy
- -----
- 2012-04-29
- -----
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
 
-Maven CLI Options Reference
+http://www.apache.org/licenses/LICENSE-2.0
 
-%{snippet|file=${project.basedir}/target/test-classes/options.html|verbatim=false}
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+# Maven CLI Options Reference
+
+<!-- MACRO{snippet|file=${project.basedir}/target/test-classes/options.html|verbatim=false} -->
diff --git a/compat/maven-embedder/src/site/markdown/index.md.vm b/compat/maven-embedder/src/site/markdown/index.md.vm
index e25d04925d..4c5e4a3d31 100644
--- a/compat/maven-embedder/src/site/markdown/index.md.vm
+++ b/compat/maven-embedder/src/site/markdown/index.md.vm
@@ -1,52 +1,45 @@
-~~ Licensed to the Apache Software Foundation (ASF) under one
-~~ or more contributor license agreements.  See the NOTICE file
-~~ distributed with this work for additional information
-~~ regarding copyright ownership.  The ASF licenses this file
-~~ to you under the Apache License, Version 2.0 (the
-~~ "License"); you may not use this file except in compliance
-~~ with the License.  You may obtain a copy of the License at
-~~
-~~ http://www.apache.org/licenses/LICENSE-2.0
-~~
-~~ Unless required by applicable law or agreed to in writing,
-~~ software distributed under the License is distributed on an
-~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-~~ KIND, either express or implied.  See the License for the
-~~ specific language governing permissions and limitations
-~~ under the License.
-
- -----
- ${project.name}
- -----
- Hervé Boutemy
- -----
- 2016-11-14
- -----
-
-${project.name}
-
- ${project.description}
-
-* Useful entry points
-
- * {{{./apidocs/org/apache/maven/cli/MavenCli.html}MavenCli.doMain(CliRequest)}} is the main method preparing runtime environment before running {{{../maven-core/}Maven.execute()}}
-
-* References
-
- * {{{./cli.html}CLI options}},
-
- * {{{./logging.html}logging API}}.
-
- * since 3.3.1 (see {{{/docs/3.3.1/release-notes.html#Core_Extensions}3.3.1 release notes}} for more details),
-   per project settings can be defined by files in <<<.mvn/>>> directory:
-
-   * <<<.mvn/jvm.config>>> containing jvm options,
-
-   * <<<.mvn/maven.config>>> containing Maven command-line parameter,
-
-   * <<<.mvn/extensions.xml>>> containing {{{./core-extensions.html}a list of extensions}},
-
- * since 3.5.0, output is colorized by default, with color disabled in batch mode: see
-   {{{/shared/maven-shared-utils/apidocs/org/apache/maven/shared/utils/logging/package-summary.html}styled message API}}
-   for more details on adding color to a plugin output or customizing colors.
-
+---
+title: ${project.name}
+author:
+  - Hervé Boutemy
+date: 2016-11-14
+---
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+# ${project.name}
+
+${project.description}
+
+Useful entry points
+-------------------
+
+- [MavenCli.doMain(CliRequest)](./apidocs/org/apache/maven/cli/MavenCli.html) is the main method preparing runtime environment before running [Maven.execute()](../maven-core/)
+
+References
+----------
+
+- [CLI options](./cli.html),
+- [logging API](./logging.html).
+- since 3.3.1 (see [3.3.1 release notes](/docs/3.3.1/release-notes.html#Core_Extensions) for more details), per project settings can be defined by files in `.mvn/` directory:
+    - `.mvn/jvm.config` containing jvm options,
+    - `.mvn/maven.config` containing Maven command-line parameter,
+    - `.mvn/extensions.xml` containing [a list of extensions](./core-extensions.html),
+- since 3.5.0, output is colorized by default, with color disabled in batch mode: see [styled message API](/shared/maven-shared-utils/apidocs/org/apache/maven/shared/utils/logging/package-summary.html) for more details on adding color to a plugin output or customizing colors.
diff --git a/compat/maven-embedder/src/site/markdown/logging.md b/compat/maven-embedder/src/site/markdown/logging.md
index 3793ba7623..2e8eed7347 100644
--- a/compat/maven-embedder/src/site/markdown/logging.md
+++ b/compat/maven-embedder/src/site/markdown/logging.md
@@ -1,75 +1,57 @@
-~~ Licensed to the Apache Software Foundation (ASF) under one
-~~ or more contributor license agreements.  See the NOTICE file
-~~ distributed with this work for additional information
-~~ regarding copyright ownership.  The ASF licenses this file
-~~ to you under the Apache License, Version 2.0 (the
-~~ "License"); you may not use this file except in compliance
-~~ with the License.  You may obtain a copy of the License at
-~~
-~~ http://www.apache.org/licenses/LICENSE-2.0
-~~
-~~ Unless required by applicable law or agreed to in writing,
-~~ software distributed under the License is distributed on an
-~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-~~ KIND, either express or implied.  See the License for the
-~~ specific language governing permissions and limitations
-~~ under the License.
-
- -----
- Maven Logging
- -----
- Hervé Boutemy
- -----
- 2013-08-02
- -----
-
-Maven Logging
-
- {{{/maven-logging.html}End-user logging documentation}} is available {{{/maven-logging.html}in Maven site}}.
- This documentation is focused on internal implementation details.
-
-* Logging API
-
- Maven uses
- {{{https://codehaus-plexus.github.io/plexus-containers/plexus-container-default/apidocs/org/codehaus/plexus/logging/package-summary.html}Plexus
- Container logging API}}, like any other Plexus components, ie
- {{{https://codehaus-plexus.github.io/plexus-containers/plexus-container-default/apidocs/org/codehaus/plexus/logging/LoggerManager.html}LoggerManager}}
- / {{{https://codehaus-plexus.github.io/plexus-containers/plexus-container-default/apidocs/org/codehaus/plexus/logging/Logger.html}Logger}}.
-
- Starting with Maven 3.1.0:
-
-  *  Maven supports SLF4J API logging API too, ie {{{http://slf4j.org/apidocs/org/slf4j/LoggerFactory.html}LoggerFactory}} /
-     {{{http://slf4j.org/apidocs/org/slf4j/Logger.html}Logger}},
-
-  *  instead of implementing Plexus logging API itself with basic output to console, Maven implements it using SLF4J API in
-     {{{./apidocs/org/apache/maven/cli/logging/Slf4jLoggerManager.html}Slf4jLoggerManager}}
-     / {{{./apidocs/org/apache/maven/cli/logging/Slf4jLogger.html}Slf4jLogger}}.
-
-
-* Logging Implementation
-
- Maven 3.1.0 ships bundled with {{{https://www.slf4j.org/api/org/slf4j/simple/SimpleLogger.html}SLF4J simple logger}} and since 3.5.0 {{{../maven-slf4j-provider/}Maven-customized <<<maven-slf4j-provider>>>}},
- but is ready to use other logging implementations: SLF4J is responsible for loading the implementation, referred to as
- {{{http://www.slf4j.org/manual.html#swapping}"SLF4J bindings"}}.
-
- Logging configuration loading is actually done by logging implementation, without any Maven extensions to support merging
- Maven installation configuration with per-user configuration for example:
- <<<$\{maven.conf}/logging>>> directory was added to core's classpath (see <<<$\{maven.home}/bin/m2.conf>>>). See your implementation
- documentation for details on file names, formats, and so on.
-
- During Maven initialization, Maven tweaks default root logging level to match CLI verbosity choice. Since such feature isn't available
- in SLF4J API, logging implementation specific extensions need to be added into Maven to support these CLI options: see
- {{{./apidocs/org/apache/maven/cli/logging/Slf4jConfigurationFactory.html}Slf4jConfigurationFactory}} /
- {{{./apidocs/org/apache/maven/cli/logging/Slf4jConfiguration.html}Slf4jConfiguration}}.
-
-~~ TODO document META-INF/maven/slf4j-configuration.properties
-
-* Getting Logger Instance
-
- Starting with Maven 3.1.0, SLF4J Logger can be used directly. This technique can be used safely in Maven core
- components or in plugins/component not requiring compatibility with previous Maven versions.
-
-+-----+
+---
+title: Maven Logging
+author:
+  - Hervé Boutemy
+date: 2013-08-02
+---
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+# Maven Logging
+
+[End-user logging documentation](/maven-logging.html) is available [in Maven site](/maven-logging.html). This documentation is focused on internal implementation details.
+
+## Logging API
+
+Maven uses [Plexus Container logging API](https://codehaus-plexus.github.io/plexus-containers/plexus-container-default/apidocs/org/codehaus/plexus/logging/package-summary.html), like any other Plexus components, ie [LoggerManager](https://codehaus-plexus.github.io/plexus-containers/plexus-container-default/apidocs/org/codehaus/plexus/logging/LoggerManager.html) / [Logger](https://codehaus-plexus.github.io/plexus-containers/plexus-container-default/apidocs/org/codehaus/plexus/logging/Logg [...]
+
+Starting with Maven 3.1.0:
+
+- Maven supports SLF4J API logging API too, ie [LoggerFactory](http://slf4j.org/apidocs/org/slf4j/LoggerFactory.html) / [Logger](http://slf4j.org/apidocs/org/slf4j/Logger.html),
+- instead of implementing Plexus logging API itself with basic output to console, Maven implements it using SLF4J API in [Slf4jLoggerManager](./apidocs/org/apache/maven/cli/logging/Slf4jLoggerManager.html) / [Slf4jLogger](./apidocs/org/apache/maven/cli/logging/Slf4jLogger.html).
+
+## Logging Implementation
+
+Maven 3.1.0 ships bundled with [SLF4J simple logger](https://www.slf4j.org/api/org/slf4j/simple/SimpleLogger.html) and since 3.5.0 [Maven-customized `maven-slf4j-provider`](../maven-slf4j-provider/), but is ready to use other logging implementations: SLF4J is responsible for loading the implementation, referred to as ["SLF4J bindings"](http://www.slf4j.org/manual.html#swapping).
+
+Logging configuration loading is actually done by logging implementation, without any Maven extensions to support merging Maven installation configuration with per-user configuration for example: `${maven.conf}/logging` directory was added to core's classpath (see `${maven.home}/bin/m2.conf`). See your implementation documentation for details on file names, formats, and so on.
+
+During Maven initialization, Maven tweaks default root logging level to match CLI verbosity choice. Since such feature isn't available in SLF4J API, logging implementation specific extensions need to be added into Maven to support these CLI options: see [Slf4jConfigurationFactory](./apidocs/org/apache/maven/cli/logging/Slf4jConfigurationFactory.html) / [Slf4jConfiguration](./apidocs/org/apache/maven/cli/logging/Slf4jConfiguration.html).
+
+<!-- TODO document META-INF/maven/slf4j-configuration.properties-->
+
+## Getting Logger Instance
+
+Starting with Maven 3.1.0, SLF4J Logger can be used directly. This technique can be used safely in Maven core components or in plugins/component not requiring compatibility with previous Maven versions.
+
+```java
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -77,11 +59,10 @@ public class MyClass
 {
    final Logger logger = LoggerFactory.getLogger( MyClass.class );
 }
-+-----+
+```
 
-* Logger Name
+## Logger Name
 
- Logger name is basically the classical fully qualified class name: it's not visible by default, but can be activated (see {{{/maven-logging.html}user documentation}}).
+Logger name is basically the classical fully qualified class name: it's not visible by default, but can be activated (see [user documentation](/maven-logging.html)).
 
- Notice that before Maven 3.1.0, with logger created by Maven, some code used to pass logger from class to class because it could not create a new logger:
- discrepencies between logger name and actual class may happen.
+Notice that before Maven 3.1.0, with logger created by Maven, some code used to pass logger from class to class because it could not create a new logger: discrepencies between logger name and actual class may happen.
diff --git a/compat/maven-model-builder/src/site/markdown/index.md b/compat/maven-model-builder/src/site/markdown/index.md
index ca1ff8c6cb..ddaeac1dd7 100644
--- a/compat/maven-model-builder/src/site/markdown/index.md
+++ b/compat/maven-model-builder/src/site/markdown/index.md
@@ -1,240 +1,104 @@
-~~ Licensed to the Apache Software Foundation (ASF) under one
-~~ or more contributor license agreements.  See the NOTICE file
-~~ distributed with this work for additional information
-~~ regarding copyright ownership.  The ASF licenses this file
-~~ to you under the Apache License, Version 2.0 (the
-~~ "License"); you may not use this file except in compliance
-~~ with the License.  You may obtain a copy of the License at
-~~
-~~ http://www.apache.org/licenses/LICENSE-2.0
-~~
-~~ Unless required by applicable law or agreed to in writing,
-~~ software distributed under the License is distributed on an
-~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-~~ KIND, either express or implied.  See the License for the
-~~ specific language governing permissions and limitations
-~~ under the License.
-
- -----
- Introduction
- -----
- Hervé Boutemy
- -----
- 2013-03-19
- -----
-
-Maven Model Builder
-
- The effective model builder, with profile activation, inheritance, interpolation, ...
-
- The main component is <<<ModelBuilder>>>
- ({{{./apidocs/org/apache/maven/model/building/ModelBuilder.html}javadoc}},
- {{{./xref/org/apache/maven/model/building/ModelBuilder.html}source}}),
- with its <<<DefaultModelBuilder>>> implementation
- ({{{./apidocs/org/apache/maven/model/building/DefaultModelBuilder.html}javadoc}},
- {{{./xref/org/apache/maven/model/building/DefaultModelBuilder.html}source}})
- that manages the steps sequence.
-
- The sequence is divided into 2 phases:
-
- * phase 1
-
-   ** profile activation: see {{{./apidocs/org/apache/maven/model/profile/activation/package-summary.html}available activators}}.
-   Notice that model interpolation hasn't happened yet, then interpolation for file-based activation is limited to
-   <<<$\{basedir}>>> (since Maven 3), <<<$\{rootDirectory}>>> (since Maven 4), system properties and user properties
-
-   ** file model validation: <<<ModelValidator>>> ({{{./apidocs/org/apache/maven/model/validation/ModelValidator.html}javadoc}}),
-   with its <<<DefaultModelValidator>>> implementation
-   ({{{./xref/org/apache/maven/model/validation/DefaultModelValidator.html}source}})
-
-   []
-
- * phase 2, with optional plugin processing
-
-   ** Build up a raw model by re-reading the file and enriching it based on information available in the reactor. Some features:
-
-      *** Resolve version of versionless parents based on relativePath (including ci-friendly versions)
-
-      *** Resolve version of versionless dependencies that are part of the reactor
-
-   []
-
-   ** raw model validation: <<<ModelValidator>>> ({{{./apidocs/org/apache/maven/model/validation/ModelValidator.html}javadoc}}),
-   with its <<<DefaultModelValidator>>> implementation
-   ({{{./xref/org/apache/maven/model/validation/DefaultModelValidator.html}source}})
-
-   ** model normalization - merge duplicates: <<<ModelNormalizer>>> ({{{./apidocs/org/apache/maven/model/normalization/ModelNormalizer.html}javadoc}}),
-   with its <<<DefaultModelNormalizer>>> implementation
-   ({{{./xref/org/apache/maven/model/normalization/DefaultModelNormalizer.html}source}})
-
-   ** profile injection: <<<ProfileInjector>>> ({{{./apidocs/org/apache/maven/model/profile/ProfileInjector.html}javadoc}}),
-   with its <<<DefaultProfileInjector>>> implementation
-   ({{{./xref/org/apache/maven/model/profile/DefaultProfileInjector.html}source}})
-
-   ** parent resolution until {{{./super-pom.html}super-pom}}
-
-   ** inheritance assembly (see {{{./index.html#Inheritance_Assembly}below}})
-
-   ** model interpolation (see {{{./index.html#Model_Interpolation}below}})
-
-   ** url normalization: <<<UrlNormalizer>>> ({{{./apidocs/org/apache/maven/model/path/UrlNormalizer.html}javadoc}}),
-   with its <<<DefaultUrlNormalizer>>> implementation
-   ({{{./xref/org/apache/maven/model/path/DefaultUrlNormalizer.html}source}})
-
-   ** model path translation: <<<ModelPathTranslator>>> ({{{./apidocs/org/apache/maven/model/path/ModelPathTranslator.html}javadoc}}),
-   with its <<<DefaultModelPathTranslator>>> implementation
-   ({{{./xref/org/apache/maven/model/path/DefaultModelPathTranslator.html}source}})
-
-   ** plugin management injection: <<<PluginManagementInjector>>> ({{{./apidocs/org/apache/maven/model/management/PluginManagementInjector.html}javadoc}}),
-   with its <<<DefaultPluginManagementInjector>>> implementation
-   ({{{./xref/org/apache/maven/model/management/DefaultPluginManagementInjector.html}source}})
-
-   ** <(optional)> lifecycle bindings injection: <<<LifecycleBindingsInjector>>> ({{{./apidocs/org/apache/maven/model/plugin/LifecycleBindingsInjector.html}javadoc}}),
-   with its <<<DefaultLifecycleBindingsInjector>>> implementation in maven-core
-   ({{{./maven-core/xref/org/apache/maven/model/plugin/DefaultLifecycleBindingsInjector.html}source}})
-
-   ** dependency management import (for dependencies of type <<<pom>>> and scope <<<import>>> in the <<<\<dependencyManagement\>>>> section)
-
-   ** dependency management injection: <<<DependencyManagementInjector>>> ({{{./apidocs/org/apache/maven/model/management/DependencyManagementInjector.html}javadoc}}),
-   with its <<<DefaultDependencyManagementInjector>>> implementation
-   ({{{./xref/org/apache/maven/model/management/DefaultDependencyManagementInjector.html}source}})
-
-   ** model normalization - inject default values: <<<ModelNormalizer>>> ({{{./apidocs/org/apache/maven/model/normalization/ModelNormalizer.html}javadoc}}),
-   with its <<<DefaultModelNormalizer>>> implementation
-   ({{{./xref/org/apache/maven/model/normalization/DefaultModelNormalizer.html}source}})
-
-   ** <(optional)> reports configuration: <<<ReportConfigurationExpander>>> ({{{./apidocs/org/apache/maven/model/plugin/ReportConfigurationExpander.html}javadoc}}),
-   with its <<<DefaultReportConfigurationExpander>>> implementation
-   ({{{./xref/org/apache/maven/model/plugin/DefaultReportConfigurationExpander.html}source}})
-
-   ** <(optional)> reports conversion to decoupled site plugin: <<<ReportingConverter>>> ({{{./apidocs/org/apache/maven/model/plugin/ReportingConverter.html}javadoc}}),
-   with its <<<DefaultReportingConverter>>> implementation
-   ({{{./xref/org/apache/maven/model/plugin/DefaultReportingConverter.html}source}})
-
-   ** <(optional)> plugins configuration: <<<PluginConfigurationExpander>>> ({{{./apidocs/org/apache/maven/model/plugin/PluginConfigurationExpander.html}javadoc}}),
-   with its <<<DefaultPluginConfigurationExpander>>> implementation
-   ({{{./xref/org/apache/maven/model/plugin/DefaultPluginConfigurationExpander.html}source}})
-
-   ** effective model validation: <<<ModelValidator>>> ({{{./apidocs/org/apache/maven/model/validation/ModelValidator.html}javadoc}}),
-   with its <<<DefaultModelValidator>>> implementation
-   ({{{./xref/org/apache/maven/model/validation/DefaultModelValidator.html}source}})
-
-   []
-
- []
-
-
-* Inheritance Assembly
-
-  Inheritance Assembly consists in filling current model empty fields with values taken from parent model.
-  It is done in <<<InheritanceAssembler>>> ({{{./apidocs/org/apache/maven/model/inheritance/InheritanceAssembler.html}javadoc}}),
-  with its <<<DefaultInheritanceAssembler>>> implementation
-  ({{{./xref/org/apache/maven/model/inheritance/DefaultInheritanceAssembler.html}source}}).
-
-  By default, every model field is inherited as-is from parent, with a few exceptions that are intentionally not inherited:
-  <<<modelVersion>>>, <<<artifactId>>>, <<<packaging>>>, <<<profiles>>> (injected in phase 1) and <<<prerequisites>>>.
-
-  Notice that the 5 URLs from the model (<<<project.url>>>, <<<project.scm.connection>>>, <<<project.scm.developerConnection>>>,
-  <<<project.scm.url>>> and <<<project.distributionManagement.site.url>>>) have a special inheritance handling:
-
-  ** if not configured in current model, the inherited value is the parent's one with current artifact id appended,
-
-  ** since Maven 3.5.0, if <<<project.directory>>> POM property value is defined, it is used instead of artifact id:
-  this permits default inheritance calculations when module directory name is not equal to artifact id. Notice that this
-  property is not inherited from a POM to its child: child's POM will use child artifact id if property is not
-  set.
-
-  ** since Maven 3.6.1, inheritance can avoid appending any path to parent value by setting model attribute value to
-  <<<false>>> for each url:
-  <<<...@child.project.url.inherit.append.path>>>,
-  <<<...@child.site.url.inherit.append.path>>>,
-  <<<...@child.scm.connection.inherit.append.path>>>,
-  <<<...@child.scm.developerConnection.inherit.append.path>>> and
-  <<<...@child.scm.url.inherit.append.path>>>.
-
-  []
-
-* Model Interpolation
-
-  Model Interpolation consists in replacing <<<$\{...\}>>> with calculated value. It is done in <<<StringVisitorModelInterpolator>>>
-  ({{{./apidocs/org/apache/maven/model/interpolation/StringVisitorModelInterpolator.html}javadoc}},
-  {{{./xref/org/apache/maven/model/interpolation/StringVisitorModelInterpolator.html}source}}).
-
-  Notice that model interpolation happens <after> profile activation, and that profile activation doesn't benefit from every values:
-  interpolation for file-based activation is limited to <<<$\{basedir}>>> (which was introduced in Maven 3 and is not deprecated
-  in this context) and <<<$\{rootDirectory}>>> (introduced in Maven 4), system properties and user properties.
-
-  Values are evaluated in sequence from different syntaxes:
-
-*----+------+------+
-|| value || evaluation result || common examples ||
-*----+------+------+
-| <<<project.*>>>\
-<<<pom.*>>> (<deprecated>)\
-<<<*>>> (<deprecated>) | POM content (see {{{../maven-model/maven.html}POM reference}}) | <<<$\{project.version\}>>>\
- | | <<<$\{project.build.finalName\}>>>\
- | | <<<$\{project.artifactId\}>>>\
- | | <<<$\{project.build.directory\}>>> |
-*----+------+------+
-| <<<project.basedir>>>\
-<<<pom.basedir>>> (<deprecated>)\
-<<<basedir>>> (<deprecated>) | the directory containing the <<<pom.xml>>> file | <<<$\{project.basedir\}>>> |
-*----+------+------+
-| <<<project.baseUri>>>\
-<<<pom.baseUri>>> (<deprecated>) | the directory containing the <<<pom.xml>>> file as URI | <<<$\{project.baseUri\}>>> |
-*----+------+------+
-| <<<project.rootDirectory>>> | the project's root directory (containing a <<<.mvn>>> directory or with the <<<root="true">>> xml attribute) | <<<$\{project.rootDirectory\}>>> |
-*----+------+------+
-| <<<build.timestamp>>>\
-<<<maven.build.timestamp>>> | the UTC timestamp of build start, in <<<yyyy-MM-dd'T'HH:mm:ss'Z'>>> default format, which can be overridden with <<<maven.build.timestamp.format>>> POM property | <<<$\{maven.build.timestamp\}>>> |
-*----+------+------+
-| <<<*>>> | user properties, set from CLI with <<<-Dproperty=value>>> | <<<$\{skipTests\}>>> |
-*----+------+------+
-| <<<*>>> | model properties, such as project properties set in the pom | <<<$\{any.key\}>>> |
-*----+------+------+
-| <<<maven.home>>> | The path to the current Maven home. | <<<$\{maven.home\}>>> |
-*----+------+------+
-| <<<maven.version>>> | The version number of the current Maven execution <(since 3.0.4)>. For example, "<<<3.0.5>>>". | <<<$\{maven.version\}>>> |
-*----+------+------+
-| <<<maven.build.version>>> | The full build version of the current Maven execution <(since 3.0.4)>. For example, "<<<Apache Maven 3.2.2 (r01de14724cdef164cd33c7c8c2fe155faf9602da; 2013-02-19T14:51:28+01:00)>>>". | <<<$\{maven.build.version\}>>> |
-*----+------+------+
-| <<<maven.repo.local>>> | The repository on the local machine Maven shall use to store installed and downloaded artifacts (POMs, JARs, etc). | <<<$\{user.home\}/.m2/repository>>> |
-*----+------+------+
-| <<<*>>> | Java system properties (see {{{https://docs.oracle.com/javase/8/docs/api/java/lang/System.html#getProperties()}JDK reference}}) | <<<$\{user.home\}>>>\
- | | <<<$\{java.home\}>>> |
-*----+------+------+
-| <<<*>>> | User properties | <<<$\{foo\}>>> |
-*----+------+------+
-| <<<env.*>>>\
-<<<*>>> | environment variables | <<<$\{env.PATH\}>>> |
-*----+------+------+
-| <<<settings.*>>> | Local user settings (see {{{../maven-settings/settings.html}settings reference}}) | <<<$\{settings.localRepository\}>>> |
-*----+------+------+
-| <<<changelist>>> \
-<<<revision>>> \
-<<<sha1>>> | CI friendly placeholders for the project version (see {{{/maven-ci-friendly.html}Maven CI Friendly Versions}}) | <<<1.0.0-$\{changelist\}-SNAPSHOT>>> |
-*----+------+------+
-
-
-**  Notice
-
-  * after model interpolation, <<<$\{...\}>>> content can remain in the model that will be evaluated later
-  when setting plugin parameters. This happens in particular with <<<settings.*>>> values for
-  {{{../maven-settings/settings.html}Settings Model}},
-
-  * encoding configuration have been defined as POM properties looking like POM content but not added to POM model to maintain
-  compatibility with previous Maven versions:
-
-    * <<<$\{project.build.sourceEncoding\}>>> for
-    {{{https://cwiki.apache.org/confluence/display/MAVEN/POM+Element+for+Source+File+Encoding}source files encoding}}
-    (defaults to <<<UTF-8>>> since Maven 4.0.0, no default value was provided in Maven 3.x, meaning that the platform
-    encoding was used by plugins)
-
-    * <<<$\{project.reporting.outputEncoding\}>>> for
-    {{{https://cwiki.apache.org/confluence/display/MAVENOLD/Reporting+Encoding+Configuration}reporting output files encoding}}
-    (defaults to <<<UTF-8>>> since Maven 4.0.0, no default value was provided in Maven 3.x, plugins usually defaulting
-    to <<<UTF-8>>>)
-
-    []
-
-  []
+---
+title: Introduction
+author:
+  - Hervé Boutemy
+date: 2013-03-19
+---
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+# Maven Model Builder
+
+The effective model builder, with profile activation, inheritance, interpolation, ...
+
+The main component is `ModelBuilder` ([javadoc](./apidocs/org/apache/maven/model/building/ModelBuilder.html), [source](./xref/org/apache/maven/model/building/ModelBuilder.html)), with its `DefaultModelBuilder` implementation ([javadoc](./apidocs/org/apache/maven/model/building/DefaultModelBuilder.html), [source](./xref/org/apache/maven/model/building/DefaultModelBuilder.html)) that manages the steps sequence.
+
+The sequence is divided into 2 phases:
+
+- phase 1
+    - profile activation: see [available activators](./apidocs/org/apache/maven/model/profile/activation/package-summary.html). Notice that model interpolation hasn't happened yet, then interpolation for file-based activation is limited to `${basedir}` (since Maven 3), `${rootDirectory}` (since Maven 4), system properties and user properties
+    - file model validation: `ModelValidator` ([javadoc](./apidocs/org/apache/maven/model/validation/ModelValidator.html)), with its `DefaultModelValidator` implementation ([source](./xref/org/apache/maven/model/validation/DefaultModelValidator.html))
+- phase 2, with optional plugin processing
+    - Build up a raw model by re-reading the file and enriching it based on information available in the reactor. Some features:
+        - Resolve version of versionless parents based on relativePath (including ci-friendly versions)
+        - Resolve version of versionless dependencies that are part of the reactor
+    - raw model validation: `ModelValidator` ([javadoc](./apidocs/org/apache/maven/model/validation/ModelValidator.html)), with its `DefaultModelValidator` implementation ([source](./xref/org/apache/maven/model/validation/DefaultModelValidator.html))
+    - model normalization - merge duplicates: `ModelNormalizer` ([javadoc](./apidocs/org/apache/maven/model/normalization/ModelNormalizer.html)), with its `DefaultModelNormalizer` implementation ([source](./xref/org/apache/maven/model/normalization/DefaultModelNormalizer.html))
+    - profile injection: `ProfileInjector` ([javadoc](./apidocs/org/apache/maven/model/profile/ProfileInjector.html)), with its `DefaultProfileInjector` implementation ([source](./xref/org/apache/maven/model/profile/DefaultProfileInjector.html))
+    - parent resolution until [super-pom](./super-pom.html)
+    - inheritance assembly (see [below](./index.html#Inheritance_Assembly))
+    - model interpolation (see [below](./index.html#Model_Interpolation))
+    - url normalization: `UrlNormalizer` ([javadoc](./apidocs/org/apache/maven/model/path/UrlNormalizer.html)), with its `DefaultUrlNormalizer` implementation ([source](./xref/org/apache/maven/model/path/DefaultUrlNormalizer.html))
+    - model path translation: `ModelPathTranslator` ([javadoc](./apidocs/org/apache/maven/model/path/ModelPathTranslator.html)), with its `DefaultModelPathTranslator` implementation ([source](./xref/org/apache/maven/model/path/DefaultModelPathTranslator.html))
+    - plugin management injection: `PluginManagementInjector` ([javadoc](./apidocs/org/apache/maven/model/management/PluginManagementInjector.html)), with its `DefaultPluginManagementInjector` implementation ([source](./xref/org/apache/maven/model/management/DefaultPluginManagementInjector.html))
+    - _(optional)_ lifecycle bindings injection: `LifecycleBindingsInjector` ([javadoc](./apidocs/org/apache/maven/model/plugin/LifecycleBindingsInjector.html)), with its `DefaultLifecycleBindingsInjector` implementation in maven-core ([source](./maven-core/xref/org/apache/maven/model/plugin/DefaultLifecycleBindingsInjector.html))
+    - dependency management import (for dependencies of type `pom` and scope `import` in the `<dependencyManagement>` section)
+    - dependency management injection: `DependencyManagementInjector` ([javadoc](./apidocs/org/apache/maven/model/management/DependencyManagementInjector.html)), with its `DefaultDependencyManagementInjector` implementation ([source](./xref/org/apache/maven/model/management/DefaultDependencyManagementInjector.html))
+    - model normalization - inject default values: `ModelNormalizer` ([javadoc](./apidocs/org/apache/maven/model/normalization/ModelNormalizer.html)), with its `DefaultModelNormalizer` implementation ([source](./xref/org/apache/maven/model/normalization/DefaultModelNormalizer.html))
+    - _(optional)_ reports configuration: `ReportConfigurationExpander` ([javadoc](./apidocs/org/apache/maven/model/plugin/ReportConfigurationExpander.html)), with its `DefaultReportConfigurationExpander` implementation ([source](./xref/org/apache/maven/model/plugin/DefaultReportConfigurationExpander.html))
+    - _(optional)_ reports conversion to decoupled site plugin: `ReportingConverter` ([javadoc](./apidocs/org/apache/maven/model/plugin/ReportingConverter.html)), with its `DefaultReportingConverter` implementation ([source](./xref/org/apache/maven/model/plugin/DefaultReportingConverter.html))
+    - _(optional)_ plugins configuration: `PluginConfigurationExpander` ([javadoc](./apidocs/org/apache/maven/model/plugin/PluginConfigurationExpander.html)), with its `DefaultPluginConfigurationExpander` implementation ([source](./xref/org/apache/maven/model/plugin/DefaultPluginConfigurationExpander.html))
+    - effective model validation: `ModelValidator` ([javadoc](./apidocs/org/apache/maven/model/validation/ModelValidator.html)), with its `DefaultModelValidator` implementation ([source](./xref/org/apache/maven/model/validation/DefaultModelValidator.html))
+
+## Inheritance Assembly
+
+Inheritance Assembly consists in filling current model empty fields with values taken from parent model. It is done in `InheritanceAssembler` ([javadoc](./apidocs/org/apache/maven/model/inheritance/InheritanceAssembler.html)), with its `DefaultInheritanceAssembler` implementation ([source](./xref/org/apache/maven/model/inheritance/DefaultInheritanceAssembler.html)).
+
+By default, every model field is inherited as-is from parent, with a few exceptions that are intentionally not inherited: `modelVersion`, `artifactId`, `packaging`, `profiles` (injected in phase 1) and `prerequisites`.
+
+Notice that the 5 URLs from the model (`project.url`, `project.scm.connection`, `project.scm.developerConnection`, `project.scm.url` and `project.distributionManagement.site.url`) have a special inheritance handling:
+
+- if not configured in current model, the inherited value is the parent's one with current artifact id appended,
+- since Maven 3.5.0, if `project.directory` POM property value is defined, it is used instead of artifact id: this permits default inheritance calculations when module directory name is not equal to artifact id. Notice that this property is not inherited from a POM to its child: child's POM will use child artifact id if property is not set.
+- since Maven 3.6.1, inheritance can avoid appending any path to parent value by setting model attribute value to `false` for each url: `project/@child.project.url.inherit.append.path`, `project/distributionManagement/site/@child.site.url.inherit.append.path`, `project/scm/@child.scm.connection.inherit.append.path`, `project/scm/@child.scm.developerConnection.inherit.append.path` and `project/scm/@child.scm.url.inherit.append.path`.
+
+## Model Interpolation
+
+Model Interpolation consists in replacing `${...}` with calculated value. It is done in `StringVisitorModelInterpolator` ([javadoc](./apidocs/org/apache/maven/model/interpolation/StringVisitorModelInterpolator.html), [source](./xref/org/apache/maven/model/interpolation/StringVisitorModelInterpolator.html)).
+
+Notice that model interpolation happens _after_ profile activation, and that profile activation doesn't benefit from every values: interpolation for file-based activation is limited to `${basedir}` (which was introduced in Maven 3 and is not deprecated in this context) and `${rootDirectory}` (introduced in Maven 4), system properties and user properties.
+
+Values are evaluated in sequence from different syntaxes:
+
+|value|evaluation result|common examples|
+|:---|:---|:---|
+|`project.*` <br />`pom.*` (_deprecated_) <br />`*` (_deprecated_)|POM content (see [POM reference](../maven-model/maven.html))|`${project.version}` <br />`${project.build.finalName}` <br />`${project.artifactId}` <br />`${project.build.directory}`|
+|`project.basedir` <br />`pom.basedir` (_deprecated_) <br />`basedir` (_deprecated_)|the directory containing the `pom.xml` file|`${project.basedir}`|
+|`project.baseUri` <br />`pom.baseUri` (_deprecated_)|the directory containing the `pom.xml` file as URI|`${project.baseUri}`|
+|`project.rootDirectory`|the project's root directory (containing a `.mvn` directory or with the `root="true"` xml attribute)|`${project.rootDirectory}`|
+|`build.timestamp` <br />`maven.build.timestamp`|the UTC timestamp of build start, in `yyyy-MM-dd'T'HH:mm:ss'Z'` default format, which can be overridden with `maven.build.timestamp.format` POM property|`${maven.build.timestamp}`|
+|`*`|user properties, set from CLI with `-Dproperty=value`|`${skipTests}`|
+|`*`|model properties, such as project properties set in the pom|`${any.key}`|
+|`maven.home`|The path to the current Maven home.|`${maven.home}`|
+|`maven.version`|The version number of the current Maven execution _(since 3.0.4)_. For example, "`3.0.5`".|`${maven.version}`|
+|`maven.build.version`|The full build version of the current Maven execution _(since 3.0.4)_. For example, "`Apache Maven 3.2.2 (r01de14724cdef164cd33c7c8c2fe155faf9602da; 2013-02-19T14:51:28+01:00)`".|`${maven.build.version}`|
+|`maven.repo.local`|The repository on the local machine Maven shall use to store installed and downloaded artifacts (POMs, JARs, etc).|`${user.home}/.m2/repository`|
+|`*`|Java system properties (see [JDK reference](https://docs.oracle.com/javase/8/docs/api/java/lang/System.html#getProperties()))|`${user.home}` <br />`${java.home}`|
+|`*`|User properties|`${foo}`|
+|`env.*` <br />`*`|environment variables|`${env.PATH}`|
+|`settings.*`|Local user settings (see [settings reference](../maven-settings/settings.html))|`${settings.localRepository}`|
+|`changelist`  <br />`revision`  <br />`sha1`|CI friendly placeholders for the project version (see [Maven CI Friendly Versions](/maven-ci-friendly.html))|`1.0.0-${changelist}-SNAPSHOT`|
+
+### Notice
+
+- after model interpolation, `${...}` content can remain in the model that will be evaluated later when setting plugin parameters. This happens in particular with `settings.*` values for [Settings Model](../maven-settings/settings.html),
+- encoding configuration have been defined as POM properties looking like POM content but not added to POM model to maintain compatibility with previous Maven versions:
+    - `${project.build.sourceEncoding}` for [source files encoding](https://cwiki.apache.org/confluence/display/MAVEN/POM+Element+for+Source+File+Encoding) (defaults to `UTF-8` since Maven 4.0.0, no default value was provided in Maven 3.x, meaning that the platform encoding was used by plugins)
+    - `${project.reporting.outputEncoding}` for [reporting output files encoding](https://cwiki.apache.org/confluence/display/MAVENOLD/Reporting+Encoding+Configuration) (defaults to `UTF-8` since Maven 4.0.0, no default value was provided in Maven 3.x, plugins usually defaulting to `UTF-8`)
diff --git a/compat/maven-model-builder/src/site/markdown/super-pom.md.vm b/compat/maven-model-builder/src/site/markdown/super-pom.md.vm
index df86d70efe..349e599ff4 100644
--- a/compat/maven-model-builder/src/site/markdown/super-pom.md.vm
+++ b/compat/maven-model-builder/src/site/markdown/super-pom.md.vm
@@ -1,30 +1,31 @@
-~~ Licensed to the Apache Software Foundation (ASF) under one
-~~ or more contributor license agreements.  See the NOTICE file
-~~ distributed with this work for additional information
-~~ regarding copyright ownership.  The ASF licenses this file
-~~ to you under the Apache License, Version 2.0 (the
-~~ "License"); you may not use this file except in compliance
-~~ with the License.  You may obtain a copy of the License at
-~~
-~~ http://www.apache.org/licenses/LICENSE-2.0
-~~
-~~ Unless required by applicable law or agreed to in writing,
-~~ software distributed under the License is distributed on an
-~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-~~ KIND, either express or implied.  See the License for the
-~~ specific language governing permissions and limitations
-~~ under the License.
+---
+title: Super POM
+author:
+  - Hervé Boutemy
+date: 2011-09-12
+---
 
- -----
- Super POM
- -----
- Hervé Boutemy
- -----
- 2011-09-12
- -----
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
 
-Super POM
+http://www.apache.org/licenses/LICENSE-2.0
 
- All models implicitly inherit from a super-POM:
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
 
-%{snippet|id=superpom|file=${project.build.sourceDirectory}/../resources/org/apache/maven/model/pom-4.0.0.xml}
+# Super POM
+
+All models implicitly inherit from a super-POM:
+
+<!-- MACRO{snippet|id=superpom|file=${project.build.sourceDirectory}/../resources/org/apache/maven/model/pom-4.0.0.xml} -->
diff --git a/compat/maven-model/src/site/markdown/index.md b/compat/maven-model/src/site/markdown/index.md
index 0d33ae5194..99e506e0b0 100644
--- a/compat/maven-model/src/site/markdown/index.md
+++ b/compat/maven-model/src/site/markdown/index.md
@@ -1,41 +1,37 @@
-~~ Licensed to the Apache Software Foundation (ASF) under one
-~~ or more contributor license agreements.  See the NOTICE file
-~~ distributed with this work for additional information
-~~ regarding copyright ownership.  The ASF licenses this file
-~~ to you under the Apache License, Version 2.0 (the
-~~ "License"); you may not use this file except in compliance
-~~ with the License.  You may obtain a copy of the License at
-~~
-~~ http://www.apache.org/licenses/LICENSE-2.0
-~~
-~~ Unless required by applicable law or agreed to in writing,
-~~ software distributed under the License is distributed on an
-~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-~~ KIND, either express or implied.  See the License for the
-~~ specific language governing permissions and limitations
-~~ under the License.
+---
+title: Introduction
+author:
+  - Jason van Zyl
+  - Vincent Siveton
+  - Hervé Boutemy
+date: 2011-06-12
+---
 
- -----
- Introduction
- -----
- Jason van Zyl
- Vincent Siveton
- Hervé Boutemy
- -----
- 2011-06-12
- -----
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
 
-Maven Model
+http://www.apache.org/licenses/LICENSE-2.0
 
- This is strictly the model for Maven POM (Project Object Model) in <<<org.apache.maven.model>>> package,
- delegating content to {{{../../api/maven-api-model/index.html}Maven 4 API immutable model}}. All the effective model
- building logic from multiple POMs and building context is done in {{{../maven-model-builder/}Maven Model Builder}}.
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
 
- The following are generated from this model:
+# Maven Model
 
-   * {{{./apidocs/index.html}Java sources}} with Reader and Writers for the Xpp3 XML parser, <<<ToAPiV3()>>> and <<<ToApiV4()>>> transformers, and <<<v4>>> package
-     for Merger and v4 Reader and Writers for the Xpp3 XML parser,
+This is strictly the model for Maven POM (Project Object Model) in `org.apache.maven.model` package, delegating content to [Maven 4 API immutable model](../../api/maven-api-model/index.html). All the effective model building logic from multiple POMs and building context is done in [Maven Model Builder](../maven-model-builder/).
 
-   * A {{{../../api/maven-api-model/maven.html}Descriptor Reference}}
+The following are generated from this model:
 
-   * An XSD {{{https://maven.apache.org/xsd/maven-v3_0_0.xsd}for Maven 1.1}} and {{{https://maven.apache.org/xsd/maven-4.0.0.xsd}for Maven 2 and 3}}.
+- [Java sources](./apidocs/index.html) with Reader and Writers for the Xpp3 XML parser, `ToAPiV3()` and `ToApiV4()` transformers, and `v4` package for Merger and v4 Reader and Writers for the Xpp3 XML parser,
+- A [Descriptor Reference](../../api/maven-api-model/maven.html)
+- An XSD [for Maven 1.1](https://maven.apache.org/xsd/maven-v3_0_0.xsd) and [for Maven 2 and 3](https://maven.apache.org/xsd/maven-4.0.0.xsd).
diff --git a/compat/maven-plugin-api/src/site/markdown/index.md b/compat/maven-plugin-api/src/site/markdown/index.md
index aebf9ea28a..0b02eeb59f 100644
--- a/compat/maven-plugin-api/src/site/markdown/index.md
+++ b/compat/maven-plugin-api/src/site/markdown/index.md
@@ -1,45 +1,40 @@
-~~ Licensed to the Apache Software Foundation (ASF) under one
-~~ or more contributor license agreements.  See the NOTICE file
-~~ distributed with this work for additional information
-~~ regarding copyright ownership.  The ASF licenses this file
-~~ to you under the Apache License, Version 2.0 (the
-~~ "License"); you may not use this file except in compliance
-~~ with the License.  You may obtain a copy of the License at
-~~
-~~ http://www.apache.org/licenses/LICENSE-2.0
-~~
-~~ Unless required by applicable law or agreed to in writing,
-~~ software distributed under the License is distributed on an
-~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-~~ KIND, either express or implied.  See the License for the
-~~ specific language governing permissions and limitations
-~~ under the License.
-
- -----
- Introduction
- -----
- Hervé Boutemy
- -----
- 2012-06-02
- -----
-
-Maven 3 Plugin API
-
- The API for Maven 3 plugins - composed of goals implemented by Mojos - development:
-
- * goal code extends {{{./apidocs/org/apache/maven/plugin/AbstractMojo.html}<<<AbstractMojo>>> base class}} that implements {{{./apidocs/org/apache/maven/plugin/Mojo.html}<<<Mojo>>> interface}},
-
- * {{{./apidocs/org/apache/maven/plugin/logging/Log.html}<<<Log>>> interface}} provides easy logging for the goal.
-
- []
-
- A plugin is described in a {{{../../api/maven-api-plugin/plugin.html}<<<META-INF/maven/plugin.xml>>> plugin descriptor}},
- generally generated from plugin sources using {{{/plugin-tools/maven-plugin-plugin/}maven-plugin-plugin}}.
-
-* See Also
-
- * {{{/developers/mojo-api-specification.html}Mojo API Specification}}
-
- * {{{/plugin-tools/}Plugin Tools}} that provide {{{/plugin-tools/maven-plugin-plugin/}maven-plugin-plugin}} to generate the {{{./plugin.html}<<<META-INF/maven/plugin.xml>>> plugin descriptor}}
-
- * {{{/plugin-testing/}Plugin Testing}} frameworks
+---
+title: Introduction
+author:
+  - Hervé Boutemy
+date: 2012-06-02
+---
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+# Maven 3 Plugin API
+
+The API for Maven 3 plugins - composed of goals implemented by Mojos - development:
+
+- goal code extends [`AbstractMojo` base class](./apidocs/org/apache/maven/plugin/AbstractMojo.html) that implements [`Mojo` interface](./apidocs/org/apache/maven/plugin/Mojo.html),
+- [`Log` interface](./apidocs/org/apache/maven/plugin/logging/Log.html) provides easy logging for the goal.
+
+A plugin is described in a [`META-INF/maven/plugin.xml` plugin descriptor](../../api/maven-api-plugin/plugin.html), generally generated from plugin sources using [maven-plugin-plugin](/plugin-tools/maven-plugin-plugin/).
+
+## See Also
+
+- [Mojo API Specification](/developers/mojo-api-specification.html)
+- [Plugin Tools](/plugin-tools/) that provide [maven-plugin-plugin](/plugin-tools/maven-plugin-plugin/) to generate the [`META-INF/maven/plugin.xml` plugin descriptor](./plugin.html)
+- [Plugin Testing](/plugin-testing/) frameworks
diff --git a/compat/maven-repository-metadata/src/site/markdown/index.md b/compat/maven-repository-metadata/src/site/markdown/index.md
index fb6f37f97c..37fc80bb5c 100644
--- a/compat/maven-repository-metadata/src/site/markdown/index.md
+++ b/compat/maven-repository-metadata/src/site/markdown/index.md
@@ -1,59 +1,47 @@
-~~ Licensed to the Apache Software Foundation (ASF) under one
-~~ or more contributor license agreements.  See the NOTICE file
-~~ distributed with this work for additional information
-~~ regarding copyright ownership.  The ASF licenses this file
-~~ to you under the Apache License, Version 2.0 (the
-~~ "License"); you may not use this file except in compliance
-~~ with the License.  You may obtain a copy of the License at
-~~
-~~ http://www.apache.org/licenses/LICENSE-2.0
-~~
-~~ Unless required by applicable law or agreed to in writing,
-~~ software distributed under the License is distributed on an
-~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-~~ KIND, either express or implied.  See the License for the
-~~ specific language governing permissions and limitations
-~~ under the License.
+---
+title: Introduction
+author:
+  - Hervé Boutemy
+date: 2009-04-26
+---
 
- -----
- Introduction
- -----
- Hervé Boutemy
- -----
- 2009-04-26
- -----
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
 
-Maven Repository Metadata Model
+http://www.apache.org/licenses/LICENSE-2.0
 
- This is strictly the model for Maven Repository Metadata, so really just plain objects.
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
 
- The metadata file name is:
+# Maven Repository Metadata Model
 
- * <<<maven-metadata.xml>>> in a remote repository,
+This is strictly the model for Maven Repository Metadata, so really just plain objects.
 
- * <<<maven-metadata-\<repo-id>.xml>>> in a local repository, for metadata from a repository with <<<repo-id>>> identifier.
+The metadata file name is:
 
- []
+- `maven-metadata.xml` in a remote repository,
+- `maven-metadata-<repo-id>.xml` in a local repository, for metadata from a repository with `repo-id` identifier.
 
- Depending on what the directory represents ("groupId", "groupId/artifactId" or "groupId/artifactId/version"),
- the Maven Repository Metadata file contains 3 different sets of metadata:
+Depending on what the directory represents ("groupId", "groupId/artifactId" or "groupId/artifactId/version"), the Maven Repository Metadata file contains 3 different sets of metadata:
 
- [[1]] in a "groupId" directory: a "groupId" directory may contain Maven plugins artifacts, which are described in metadata's <<<plugins>>> element,
+1. in a "groupId" directory: a "groupId" directory may contain Maven plugins artifacts, which are described in metadata's `plugins` element,
+1. in a "groupId/artifactId" directory: metadata describes `groupId`, `artifactId` and `versioning` element that gives data about available versions (`latest`, `release`, `versions` list and `lastUpdated`),
+1. in a "groupId/artifactId/version" snapshot artifact directory: metadata describes `groupId`, `artifactId`, `version` (base version, i.e. ending in `-SNAPSHOT`) and `versioning` element that gives data about snapshot (`snapshot`, `lastUpdated` and `snapshotVersions` list). Notice that a release artifact directory is not expected to provide metadata.
 
- [[2]] in a "groupId/artifactId" directory: metadata describes <<<groupId>>>, <<<artifactId>>> and <<<versioning>>> element that
-       gives data about available versions (<<<latest>>>, <<<release>>>, <<<versions>>> list and <<<lastUpdated>>>),
+The following are generated from this model:
 
- [[3]] in a "groupId/artifactId/version" snapshot artifact directory: metadata describes <<<groupId>>>, <<<artifactId>>>, <<<version>>> (base version, i.e. ending in <<<-SNAPSHOT>>>) and
-       <<<versioning>>> element that gives data about snapshot (<<<snapshot>>>, <<<lastUpdated>>> and <<<snapshotVersions>>> list). Notice that a
-       release artifact directory is not expected to provide metadata.
-
- []
-
- The following are generated from this model:
-
-   * {{{./apidocs/index.html}Java sources}} with Reader and Writers for the Xpp3 XML parser, to read and write <<<maven-metadata(-*).xml>>> files,
-
-   * a {{{../../api/maven-api-metadata/repository-metadata.html}Descriptor Reference}}.
- 
- For more information see this page: {{{https://maven.apache.org/repositories/metadata.html}Maven Metadata}}.
+- [Java sources](./apidocs/index.html) with Reader and Writers for the Xpp3 XML parser, to read and write `maven-metadata(-*).xml` files,
+- a [Descriptor Reference](../../api/maven-api-metadata/repository-metadata.html).
 
+For more information see this page: [Maven Metadata](https://maven.apache.org/repositories/metadata.html).
diff --git a/compat/maven-resolver-provider/src/site/markdown/dependency-types.md b/compat/maven-resolver-provider/src/site/markdown/dependency-types.md
index 42ae1b7b6c..9d24d0bc8a 100644
--- a/compat/maven-resolver-provider/src/site/markdown/dependency-types.md
+++ b/compat/maven-resolver-provider/src/site/markdown/dependency-types.md
@@ -1,82 +1,57 @@
-~~ Licensed to the Apache Software Foundation (ASF) under one
-~~ or more contributor license agreements.  See the NOTICE file
-~~ distributed with this work for additional information
-~~ regarding copyright ownership.  The ASF licenses this file
-~~ to you under the Apache License, Version 2.0 (the
-~~ "License"); you may not use this file except in compliance
-~~ with the License.  You may obtain a copy of the License at
-~~
-~~ http://www.apache.org/licenses/LICENSE-2.0
-~~
-~~ Unless required by applicable law or agreed to in writing,
-~~ software distributed under the License is distributed on an
-~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-~~ KIND, either express or implied.  See the License for the
-~~ specific language governing permissions and limitations
-~~ under the License.
+---
+title: Default Dependency Types
+author:
+  - Hervé Boutemy
+date: 2024-04-02
+---
 
- ---
- Default Dependency Types
- ---
- Hervé Boutemy
- ---
- 2024-04-02
- ---
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
 
-Default Dependency Types Reference
+http://www.apache.org/licenses/LICENSE-2.0
 
-  Defined in <<<DefaultTypeProvider>>>
-  ({{{./apidocs/org/apache/maven/repository/internal/type/DefaultTypeProvider.html}javadoc}},
-  {{{./xref/org/apache/maven/repository/internal/type/DefaultTypeProvider.html}source}}):
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
 
-*-----------------------+---------------+------------+-----------+-----------------------+-----------------------+
-|| type                 || classifier   || extension || language || path types           || includesDependencies ||
-*-----------------------+---------------+------------+-----------+-----------------------+-----------------------+
-|| Maven                ||              ||           ||          ||                      ||                      ||
-*-----------------------+---------------+------------+-----------+-----------------------+-----------------------+
-| <<<pom>>>             |               | <= type>   | none      |                       |                       |
-*-----------------------+---------------+------------+-----------+-----------------------+-----------------------+
-| <<<bom>>> *           |               | <<<pom>>>  | none      |                       |                       |
-*-----------------------+---------------+------------+-----------+-----------------------+-----------------------+
-| <<<maven-plugin>>>    |               | <<<jar>>>  | java      | classes               |                       |
-*-----------------------+---------------+------------+-----------+-----------------------+-----------------------+
-|| Java                 ||              ||           ||          ||                      ||                      ||
-*-----------------------+---------------+------------+-----------+-----------------------+-----------------------+
-| <<<jar>>>             |               | <= type>   | java      | classes, modules      |                       |
-*-----------------------+---------------+------------+-----------+-----------------------+-----------------------+
-| <<<java-source>>>     | <<<sources>>> | <<<jar>>>  | java      |                       |                       |
-*-----------------------+---------------+------------+-----------+-----------------------+-----------------------+
-| <<<javadoc>>>         | <<<javadoc>>> | <<<jar>>>  | java      | classes               |                       |
-*-----------------------+---------------+------------+-----------+-----------------------+-----------------------+
-| <<<test-jar>>>        | <<<tests>>>   | <<<jar>>>  | java      | classes, patch module |                       |
-*-----------------------+---------------+------------+-----------+-----------------------+-----------------------+
-| <<<test-java-source>>> * | <<<test-sources>>> | <<<jar>>> | java   |                       |                       |
-*-----------------------+---------------+------------+-----------+-----------------------+-----------------------+
-| <<<modular-jar>>> *   |               | <<<jar>>>  | java      | modules               |                       |
-*-----------------------+---------------+------------+-----------+-----------------------+-----------------------+
-| <<<classpath-jar>>> * |               | <<<jar>>>  | java      | classes               |                       |
-*-----------------------+---------------+------------+-----------+-----------------------+-----------------------+
-| <<<fatjar>>> *        |               | <<<jar>>>  | java      | classes               | <<<true>>>            |
-*-----------------------+---------------+------------+-----------+-----------------------+-----------------------+
-| <<<processor>>> *     |               | <<<jar>>>  | java      | processor classes, processor modules |           |
-*-----------------------+---------------+------------+-----------+-----------------------+-----------------------+
-| <<<classpath-processor>>> * |         | <<<jar>>>  | java      | processor classes     |                       |
-*-----------------------+---------------+------------+-----------+-----------------------+-----------------------+
-| <<<modular-processor>>> * |           | <<<jar>>>  | java      | processor modules     |                       |
-*-----------------------+---------------+------------+-----------+-----------------------+-----------------------+
-|| Java/Jakarta EE      ||              ||           ||          ||                      ||                      ||
-*-----------------------+---------------+------------+-----------+-----------------------+-----------------------+
-| <<<ejb>>>             |               | <<<jar>>>  | java      | classes               |                       |
-*-----------------------+---------------+------------+-----------+-----------------------+-----------------------+
-| <<<ejb-client>>>      | <<<client>>>  | <<<jar>>>  | java      | classes               |                       |
-*-----------------------+---------------+------------+-----------+-----------------------+-----------------------+
-| <<<war>>>             |               | <= type>   | java      |                       | <<<true>>>            |
-*-----------------------+---------------+------------+-----------+-----------------------+-----------------------+
-| <<<ear>>>             |               | <= type>   | java      |                       | <<<true>>>            |
-*-----------------------+---------------+------------+-----------+-----------------------+-----------------------+
-| <<<rar>>>             |               | <= type>   | java      |                       | <<<true>>>            |
-*-----------------------+---------------+------------+-----------+-----------------------+-----------------------+
-| <<<par>>> *           |               | <= type>   | java      |                       | <<<true>>>            |
-*-----------------------+---------------+------------+-----------+-----------------------+-----------------------+
+# Default Dependency Types Reference
 
-  * = new in Maven 4
\ No newline at end of file
+Defined in `DefaultTypeProvider` ([javadoc](./apidocs/org/apache/maven/repository/internal/type/DefaultTypeProvider.html), [source](./xref/org/apache/maven/repository/internal/type/DefaultTypeProvider.html)):
+
+|type|classifier|extension|language|path types|includesDependencies|
+|:---|:---|:---|:---|:---|:---|
+|**Maven**| | | | | |
+|`pom`| |_= type_|none| | |
+|`bom` *| |`pom`|none| | |
+|`maven-plugin`| |`jar`|java|classes| |
+|**Java**| | | | | |
+|`jar`| |_= type_|java|classes, modules| |
+|`java-source`|`sources`|`jar`|java| | |
+|`javadoc`|`javadoc`|`jar`|java|classes| |
+|`test-jar`|`tests`|`jar`|java|classes, patch module| |
+|`test-java-source` *|`test-sources`|`jar`|java| | |
+|`modular-jar` *| |`jar`|java|modules| |
+|`classpath-jar` *| |`jar`|java|classes| |
+|`fatjar` *| |`jar`|java|classes|`true`|
+|`processor` *| |`jar`|java|processor classes, processor modules| |
+|`classpath-processor` *| |`jar`|java|processor classes| |
+|`modular-processor` *| |`jar`|java|processor modules| |
+|**Java/Jakarta EE**| | | | | |
+|`ejb`| |`jar`|java|classes| |
+|`ejb-client`|`client`|`jar`|java|classes| |
+|`war`| |_= type_|java| |`true`|
+|`ear`| |_= type_|java| |`true`|
+|`rar`| |_= type_|java| |`true`|
+|`par` *| |_= type_|java| |`true`|
+
+- = new in Maven 4
diff --git a/compat/maven-resolver-provider/src/site/markdown/index.md b/compat/maven-resolver-provider/src/site/markdown/index.md
index 3008d093f3..f62e88e20f 100644
--- a/compat/maven-resolver-provider/src/site/markdown/index.md
+++ b/compat/maven-resolver-provider/src/site/markdown/index.md
@@ -1,35 +1,33 @@
-~~ Licensed to the Apache Software Foundation (ASF) under one
-~~ or more contributor license agreements.  See the NOTICE file
-~~ distributed with this work for additional information
-~~ regarding copyright ownership.  The ASF licenses this file
-~~ to you under the Apache License, Version 2.0 (the
-~~ "License"); you may not use this file except in compliance
-~~ with the License.  You may obtain a copy of the License at
-~~
-~~ http://www.apache.org/licenses/LICENSE-2.0
-~~
-~~ Unless required by applicable law or agreed to in writing,
-~~ software distributed under the License is distributed on an
-~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-~~ KIND, either express or implied.  See the License for the
-~~ specific language governing permissions and limitations
-~~ under the License.
+---
+title: Introduction
+author:
+  - Hervé Boutemy
+date: 2012-09-29
+---
 
- -----
- Introduction
- -----
- Hervé Boutemy
- -----
- 2012-09-29
- -----
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
 
-Maven Artifact Resolver Provider
+http://www.apache.org/licenses/LICENSE-2.0
 
- Maven Artifact Resolver Provider is a {{{/resolver/}Maven Artifact Resolver}} extension to support
- Maven POMs and local+remote repositories.
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
 
- Main component is <<<MavenRepositorySystemUtils>>>
- ({{{./apidocs/org/apache/maven/repository/internal/MavenRepositorySystemUtils.html}javadoc}},
- {{{./xref/org/apache/maven/repository/internal/MavenRepositorySystemUtils.html}source}}).
+# Maven Artifact Resolver Provider
 
- See also {{{./dependency-types.html}dependency types}}.
\ No newline at end of file
+Maven Artifact Resolver Provider is a [Maven Artifact Resolver](/resolver/) extension to support Maven POMs and local+remote repositories.
+
+Main component is `MavenRepositorySystemUtils` ([javadoc](./apidocs/org/apache/maven/repository/internal/MavenRepositorySystemUtils.html), [source](./xref/org/apache/maven/repository/internal/MavenRepositorySystemUtils.html)).
+
+See also [dependency types](./dependency-types.html).
diff --git a/compat/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/type/DefaultTypeProviderTest.java b/compat/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/type/DefaultTypeProviderTest.java
index 83fd669e43..66e2f56e2d 100644
--- a/compat/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/type/DefaultTypeProviderTest.java
+++ b/compat/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/type/DefaultTypeProviderTest.java
@@ -20,6 +20,7 @@
 
 import java.nio.file.Files;
 import java.nio.file.Path;
+import java.util.Arrays;
 import java.util.LinkedHashSet;
 import java.util.List;
 import java.util.Map;
@@ -45,18 +46,18 @@ class DefaultTypeProviderTest {
             "processor modules", JavaPathType.PROCESSOR_MODULES);
 
     @Test
-    void testAptConsistency() throws Exception {
+    void testDocumentationConsistency() throws Exception {
         Map<String, DefaultType> types =
                 new DefaultTypeProvider().types().stream().collect(Collectors.toMap(DefaultType::id, t -> t));
 
-        Path apt = Path.of(System.getProperty("basedir", ""), "src/site/apt/dependency-types.apt");
-        List<String> lines = Files.readAllLines(apt);
+        Path doc = Path.of(System.getProperty("basedir", ""), "src/site/markdown/dependency-types.md");
+        List<String> lines = Files.readAllLines(doc);
 
         Set<String> documentedTypes = new LinkedHashSet<>();
 
         for (String line : lines) {
-            if (line.startsWith("||") || !line.startsWith("|")) {
-                continue;
+            if (!line.startsWith("|") || line.startsWith("|type|") || line.startsWith("|:-")) {
+                continue; // not a row, or the header row, or the alignment row beneath it
             }
 
             String[] cols = line.split("\\|");
@@ -64,6 +65,11 @@ void testAptConsistency() throws Exception {
             if (typeId == null) {
                 continue;
             }
+            // a row carrying only a label groups the rows beneath it; APT wrote those as a
+            // second header row, which a Markdown table cannot express
+            if (Arrays.stream(cols).skip(2).allMatch(c -> trimApt(c) == null)) {
+                continue;
+            }
 
             documentedTypes.add(typeId);
 
@@ -90,7 +96,7 @@ void testAptConsistency() throws Exception {
 
         Set<String> undocumented = new LinkedHashSet<>(types.keySet());
         undocumented.removeAll(documentedTypes);
-        assertTrue(undocumented.isEmpty(), "Types in provider but not in APT doc: " + undocumented);
+        assertTrue(undocumented.isEmpty(), "Types in provider but not documented: " + undocumented);
     }
 
     private Set<PathType> parsePathTypes(String pathTypesStr) {
@@ -107,8 +113,14 @@ private Set<PathType> parsePathTypes(String pathTypesStr) {
         return result;
     }
 
+    /** Strips the Markdown emphasis and code markers the table uses around a cell value. */
     private String trimApt(String content) {
-        content = content.replace('<', ' ').replace('>', ' ').replace('*', ' ').trim();
+        content = content.replace('`', ' ')
+                .replace('_', ' ')
+                .replace('<', ' ')
+                .replace('>', ' ')
+                .replace('*', ' ')
+                .trim();
         return content.isEmpty() ? null : content;
     }
 }
diff --git a/compat/maven-settings/src/site/markdown/index.md b/compat/maven-settings/src/site/markdown/index.md
index bd84dd8036..b807f94875 100644
--- a/compat/maven-settings/src/site/markdown/index.md
+++ b/compat/maven-settings/src/site/markdown/index.md
@@ -1,51 +1,43 @@
-~~ Licensed to the Apache Software Foundation (ASF) under one
-~~ or more contributor license agreements.  See the NOTICE file
-~~ distributed with this work for additional information
-~~ regarding copyright ownership.  The ASF licenses this file
-~~ to you under the Apache License, Version 2.0 (the
-~~ "License"); you may not use this file except in compliance
-~~ with the License.  You may obtain a copy of the License at
-~~
-~~ http://www.apache.org/licenses/LICENSE-2.0
-~~
-~~ Unless required by applicable law or agreed to in writing,
-~~ software distributed under the License is distributed on an
-~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-~~ KIND, either express or implied.  See the License for the
-~~ specific language governing permissions and limitations
-~~ under the License.
-
- -----
- Introduction
- -----
- Vincent Siveton
- -----
- 2006-11-04
- -----
-
-Maven Settings Model
-
- This is the model for Maven settings in <<<org.apache.maven.settings>>> package,
- delegating content to {{{../../api/maven-api-settings/index.html}Maven 4 API immutable settings}}. All the effective model
- building logic from multiple settings files is done in {{{../maven-settings-builder/}Maven Settings Builder}}.
-
- The following are generated from this model:
-
-   * {{{./apidocs/index.html}Java sources}} with Reader and Writers for the Xpp3 XML parser, <<<ToAPiV3()>>> and <<<ToApiV4()>>> transformers, and <<<v4>>> package
-     for Merger and v4 Reader and Writers for the Xpp3 XML parser,
-
-   * A {{{../../api/maven-api-settings/settings.html}Descriptor Reference}}
-
-   * An {{{https://maven.apache.org/xsd/settings-2.0.0.xsd}XSD}}
-
-* See Also User Documentation
-
-  * {{{https://maven.apache.org/settings.html} Settings Reference}},
-
-  * {{{https://maven.apache.org/guides/mini/guide-mirror-settings.html} Mirror Settings}},
-
-  * {{{https://maven.apache.org/guides/mini/guide-deployment-security-settings.html} Security and Deployment Settings}},
-
-  * {{{https://maven.apache.org/guides/mini/guide-encryption-4.html} Password Encryption}},
-
-  * {{{https://maven.apache.org/guides/mini/guide-proxies.html} Configuring a proxy}}.
+---
+title: Introduction
+author:
+  - Vincent Siveton
+date: 2006-11-04
+---
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+# Maven Settings Model
+
+This is the model for Maven settings in `org.apache.maven.settings` package, delegating content to [Maven 4 API immutable settings](../../api/maven-api-settings/index.html). All the effective model building logic from multiple settings files is done in [Maven Settings Builder](../maven-settings-builder/).
+
+The following are generated from this model:
+
+- [Java sources](./apidocs/index.html) with Reader and Writers for the Xpp3 XML parser, `ToAPiV3()` and `ToApiV4()` transformers, and `v4` package for Merger and v4 Reader and Writers for the Xpp3 XML parser,
+- A [Descriptor Reference](../../api/maven-api-settings/settings.html)
+- An [XSD](https://maven.apache.org/xsd/settings-2.0.0.xsd)
+
+## See Also User Documentation
+
+- [Settings Reference](https://maven.apache.org/settings.html),
+- [Mirror Settings](https://maven.apache.org/guides/mini/guide-mirror-settings.html),
+- [Security and Deployment Settings](https://maven.apache.org/guides/mini/guide-deployment-security-settings.html),
+- [Password Encryption](https://maven.apache.org/guides/mini/guide-encryption-4.html),
+- [Configuring a proxy](https://maven.apache.org/guides/mini/guide-proxies.html).
diff --git a/compat/maven-toolchain-model/src/site/markdown/index.md b/compat/maven-toolchain-model/src/site/markdown/index.md
index b3f74172af..10aab8b793 100644
--- a/compat/maven-toolchain-model/src/site/markdown/index.md
+++ b/compat/maven-toolchain-model/src/site/markdown/index.md
@@ -1,39 +1,35 @@
-~~ Licensed to the Apache Software Foundation (ASF) under one
-~~ or more contributor license agreements.  See the NOTICE file
-~~ distributed with this work for additional information
-~~ regarding copyright ownership.  The ASF licenses this file
-~~ to you under the Apache License, Version 2.0 (the
-~~ "License"); you may not use this file except in compliance
-~~ with the License.  You may obtain a copy of the License at
-~~
-~~ http://www.apache.org/licenses/LICENSE-2.0
-~~
-~~ Unless required by applicable law or agreed to in writing,
-~~ software distributed under the License is distributed on an
-~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-~~ KIND, either express or implied.  See the License for the
-~~ specific language governing permissions and limitations
-~~ under the License.
+---
+title: Introduction
+author:
+  - Hervé Boutemy
+date: 2006-11-04
+---
 
- -----
- Introduction
- -----
- Hervé Boutemy
- -----
- 2006-11-04
- -----
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
 
-Maven Toolchain Model
+http://www.apache.org/licenses/LICENSE-2.0
 
- This is the model for Maven toolchain in <<<org.apache.maven.toolchain>>> package,
- delegating content to {{{../../api/maven-api-toolchain/index.html}Maven 4 API immutable toolchain}}. All the effective model
- building logic from multiple toolchains files is done in {{{../maven-toolchain-builder/}Maven Toolchain Builder}}.
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
 
- The following are generated from this model:
+# Maven Toolchain Model
 
-   * {{{./apidocs/index.html}Java sources}} with Reader and Writers for the Xpp3 XML parser, <<<ToAPiV3()>>> and <<<ToApiV4()>>> transformers, and <<<v4>>> package
-     for Merger and v4 Reader and Writers for the Xpp3 XML parser,
+This is the model for Maven toolchain in `org.apache.maven.toolchain` package, delegating content to [Maven 4 API immutable toolchain](../../api/maven-api-toolchain/index.html). All the effective model building logic from multiple toolchains files is done in [Maven Toolchain Builder](../maven-toolchain-builder/).
 
-   * A {{{../../api/maven-api-toolchain/toolchains.html}Descriptor Reference}}
+The following are generated from this model:
 
-   * An {{{https://maven.apache.org/xsd/toolchains-1.2.0.xsd}XSD}}
+- [Java sources](./apidocs/index.html) with Reader and Writers for the Xpp3 XML parser, `ToAPiV3()` and `ToApiV4()` transformers, and `v4` package for Merger and v4 Reader and Writers for the Xpp3 XML parser,
+- A [Descriptor Reference](../../api/maven-api-toolchain/toolchains.html)
+- An [XSD](https://maven.apache.org/xsd/toolchains-1.2.0.xsd)
diff --git a/impl/maven-core/src/site/markdown/artifact-handlers.md b/impl/maven-core/src/site/markdown/artifact-handlers.md
index 3323c1dc1f..864e050f34 100644
--- a/impl/maven-core/src/site/markdown/artifact-handlers.md
+++ b/impl/maven-core/src/site/markdown/artifact-handlers.md
@@ -1,61 +1,47 @@
-~~ Licensed to the Apache Software Foundation (ASF) under one
-~~ or more contributor license agreements.  See the NOTICE file
-~~ distributed with this work for additional information
-~~ regarding copyright ownership.  The ASF licenses this file
-~~ to you under the Apache License, Version 2.0 (the
-~~ "License"); you may not use this file except in compliance
-~~ with the License.  You may obtain a copy of the License at
-~~
-~~ http://www.apache.org/licenses/LICENSE-2.0
-~~
-~~ Unless required by applicable law or agreed to in writing,
-~~ software distributed under the License is distributed on an
-~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-~~ KIND, either express or implied.  See the License for the
-~~ specific language governing permissions and limitations
-~~ under the License.
-
- ---
- Legacy Artifact Handlers Reference
- ---
- Hervé Boutemy
- ---
- 2013-08-02
- ---
-
-Legacy Artifact Handlers Reference
-
-  Maven 3 artifact handlers (see {{{../../compat/maven-artifact/apidocs/org/apache/maven/artifact/handler/ArtifactHandler.html} API}})
-  define for each {{{../../api/maven-api-model/maven.html#class_dependency}dependency type}} information on the artifact
-  (classifier, extension, language) and how to manage it as dependency (add to classpath, include dependencies).
-
-  They are replaced in Maven 4 with Maven 4 API Core's {{{../../api/maven-api-core/apidocs/org/apache/maven/api/Type.html}Dependency Types}},
-  with default values defined in {{{../../compat/maven-resolver-provider/apidocs/org/apache/maven/repository/internal/type/DefaultTypeProvider.html}DefaultTypeProvider}}.
-
-  For compatibility, legacy Maven 3 artifact handlers are still provided:
-
-*--------------------+---------------+------------+------------+-----------+---------------------+-----------------------+
-|| type              || classifier   || extension || packaging || language || added to classpath || includesDependencies ||
-*--------------------+---------------+------------+------------+-----------+---------------------+-----------------------+
-| <<<pom>>>          |               | <= type>   | <= type>   | none      |                     |                       |
-*--------------------+---------------+------------+------------+-----------+---------------------+-----------------------+
-| <<<jar>>>          |               | <= type>   | <= type>   | java      | <<<true>>>          |                       |
-*--------------------+---------------+------------+------------+-----------+---------------------+-----------------------+
-| <<<test-jar>>>     | <<<tests>>>   | <<<jar>>>  | <<<jar>>>  | java      | <<<true>>>          |                       |
-*--------------------+---------------+------------+------------+-----------+---------------------+-----------------------+
-| <<<maven-plugin>>> |               | <<<jar>>>  | <= type>   | java      | <<<true>>>          |                       |
-*--------------------+---------------+------------+------------+-----------+---------------------+-----------------------+
-| <<<ejb>>>          |               | <<<jar>>>  | <= type>   | java      | <<<true>>>          |                       |
-*--------------------+---------------+------------+------------+-----------+---------------------+-----------------------+
-| <<<ejb-client>>>   | <<<client>>>  | <<<jar>>>  | <<<ejb>>>  | java      | <<<true>>>          |                       |
-*--------------------+---------------+------------+------------+-----------+---------------------+-----------------------+
-| <<<war>>>          |               | <= type>   | <= type>   | java      |                     | <<<true>>>            |
-*--------------------+---------------+------------+------------+-----------+---------------------+-----------------------+
-| <<<ear>>>          |               | <= type>   | <= type>   | java      |                     | <<<true>>>            |
-*--------------------+---------------+------------+------------+-----------+---------------------+-----------------------+
-| <<<rar>>>          |               | <= type>   | <= type>   | java      |                     | <<<true>>>            |
-*--------------------+---------------+------------+------------+-----------+---------------------+-----------------------+
-| <<<java-source>>>  | <<<sources>>> | <<<jar>>>  | <= type>   | java      |                     |                       |
-*--------------------+---------------+------------+------------+-----------+---------------------+-----------------------+
-| <<<javadoc>>>      | <<<javadoc>>> | <<<jar>>>  | <= type>   | java      | <<<true>>>          |                       |
-*--------------------+---------------+------------+------------+-----------+---------------------+-----------------------+
+---
+title: Legacy Artifact Handlers Reference
+author:
+  - Hervé Boutemy
+date: 2013-08-02
+---
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+# Legacy Artifact Handlers Reference
+
+Maven 3 artifact handlers (see [API](../../compat/maven-artifact/apidocs/org/apache/maven/artifact/handler/ArtifactHandler.html)) define for each [dependency type](../../api/maven-api-model/maven.html#class_dependency) information on the artifact (classifier, extension, language) and how to manage it as dependency (add to classpath, include dependencies).
+
+They are replaced in Maven 4 with Maven 4 API Core's [Dependency Types](../../api/maven-api-core/apidocs/org/apache/maven/api/Type.html), with default values defined in [DefaultTypeProvider](../../compat/maven-resolver-provider/apidocs/org/apache/maven/repository/internal/type/DefaultTypeProvider.html).
+
+For compatibility, legacy Maven 3 artifact handlers are still provided:
+
+|type|classifier|extension|packaging|language|added to classpath|includesDependencies|
+|:---|:---|:---|:---|:---|:---|:---|
+|`pom`| |_= type_|_= type_|none| | |
+|`jar`| |_= type_|_= type_|java|`true`| |
+|`test-jar`|`tests`|`jar`|`jar`|java|`true`| |
+|`maven-plugin`| |`jar`|_= type_|java|`true`| |
+|`ejb`| |`jar`|_= type_|java|`true`| |
+|`ejb-client`|`client`|`jar`|`ejb`|java|`true`| |
+|`war`| |_= type_|_= type_|java| |`true`|
+|`ear`| |_= type_|_= type_|java| |`true`|
+|`rar`| |_= type_|_= type_|java| |`true`|
+|`java-source`|`sources`|`jar`|_= type_|java| | |
+|`javadoc`|`javadoc`|`jar`|_= type_|java|`true`| |
diff --git a/impl/maven-core/src/site/markdown/configuration-management.md b/impl/maven-core/src/site/markdown/configuration-management.md
index 5954ed1dce..63ceec6275 100644
--- a/impl/maven-core/src/site/markdown/configuration-management.md
+++ b/impl/maven-core/src/site/markdown/configuration-management.md
@@ -1,95 +1,71 @@
-~~ Licensed to the Apache Software Foundation (ASF) under one
-~~ or more contributor license agreements.  See the NOTICE file
-~~ distributed with this work for additional information
-~~ regarding copyright ownership.  The ASF licenses this file
-~~ to you under the Apache License, Version 2.0 (the
-~~ "License"); you may not use this file except in compliance
-~~ with the License.  You may obtain a copy of the License at
-~~
-~~ http://www.apache.org/licenses/LICENSE-2.0
-~~
-~~ Unless required by applicable law or agreed to in writing,
-~~ software distributed under the License is distributed on an
-~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-~~ KIND, either express or implied.  See the License for the
-~~ specific language governing permissions and limitations
-~~ under the License.
-
- -----
- Maven configuration management
- -----
- The Maven Team
- -----
-
-Configuration levels in maven
-
- In maven configuration control happens on four differ levels: the site level, the group level,
- the project level, and the user level. On the site level you can configure maven for all users
- utilizing the local installation, the group level allows configuration management for all the projects
- that belong to the same group, the project level allows configuration management at
- the project level, and the user level allows users to override settings on
- the site level, group level and project level.
-
-* Site configuration
-
- At the site level all configuration is achieved by tweaking the various files that
- are available in the ${maven.home}/site-configuration directory
-
-+-----+
+---
+title: Maven configuration management
+author:
+  - The Maven Team
+---
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+# Configuration levels in maven
+
+In maven configuration control happens on four differ levels: the site level, the group level, the project level, and the user level. On the site level you can configure maven for all users utilizing the local installation, the group level allows configuration management for all the projects that belong to the same group, the project level allows configuration management at the project level, and the user level allows users to override settings on the site level, group level and project level.
+
+## Site configuration
+
+At the site level all configuration is achieved by tweaking the various files that are available in the `${maven.home}`/site-configuration directory
+
+```
 ${maven.home}
      |
      +--- maven.properties
-+-----+
+```
 
-* Group configuration
+## Group configuration
 
- As far as properties go for an entire build the maven.properties could be placed at
- the top of the group but I'm not really sure how this might work. There could probably
- also be a directory for plugins.xml and maven.properties.
+As far as properties go for an entire build the maven.properties could be placed at the top of the group but I'm not really sure how this might work. There could probably also be a directory for plugins.xml and maven.properties.
 
-* Project configuration
+## Project configuration
 
- At the project level all configuration is achieved by tweaking the POM. One of the differences between
- maven 1.x and 2.x is that all project parameterization occurs in the POM and not from properties
- files.
+At the project level all configuration is achieved by tweaking the POM. One of the differences between maven 1.x and 2.x is that all project parameterization occurs in the POM and not from properties files.
 
- For many of the more advanced features in Maven2 it is critical that POMs be available in the local repository.
- Features like transitive dependencies and the new parent specification mechanism. The problem we run into is
- that currently we have information about a project scattered across the project.xml and the
- various properties files. What needs to be done is to encapsulate all of this in the POM.
+For many of the more advanced features in Maven2 it is critical that POMs be available in the local repository. Features like transitive dependencies and the new parent specification mechanism. The problem we run into is that currently we have information about a project scattered across the project.xml and the various properties files. What needs to be done is to encapsulate all of this in the POM.
 
- Typically users parameterize the use of plugins, or have custom values like ${user.name}
- for use in elements like the <developerConnection/>. It would be idea if we
- could encapsulate everything we need about the project in the POM including
- plugin parameters and anything else.
+Typically users parameterize the use of plugins, or have custom values like `${user.name}` for use in elements like the `<developerConnection/>`. It would be idea if we could encapsulate everything we need about the project in the POM including plugin parameters and anything else.
 
- We once had a document that Vincent and I agreed upon and I was about to
- implement it and then I disappeared for 8 months so it never came to pass.
+We once had a document that Vincent and I agreed upon and I was about to implement it and then I disappeared for 8 months so it never came to pass.
 
- So I guess it's important to figure out what people are using properties
- files for and see if we can't incorporate it all into the POM. Or if we do
- have properties file (something I would like to avoid) say they don't
- contribute in any meaningful way to information in the POM. For example a
- properties file could be used the specify $ so it can be interpolated in
- <developerConnection/> but you couldn't use a properties file to specify the
- version of your project say. Anyway, food for thought to begin with.
+So I guess it's important to figure out what people are using properties files for and see if we can't incorporate it all into the POM. Or if we do have properties file (something I would like to avoid) say they don't contribute in any meaningful way to information in the POM. For example a properties file could be used the specify $ so it can be interpolated in `<developerConnection/>` but you couldn't use a properties file to specify the version of your project say. Anyway, food for th [...]
 
- - elements that are critical for pom dissemination
- - those that are used locally by the user like <developerConnection/>
+\- elements that are critical for pom dissemination - those that are used locally by the user like `<developerConnection/>`
 
-* User configuration
+## User configuration
 
- User configuration which is utilized site wide are controlled with the ${user.home}/.m2/maven.properties.
+User configuration which is utilized site wide are controlled with the `${user.home}`/.m2/maven.properties.
 
- User configuration which is utilized at the project level are controlled with the
- ${project.home}/maven.properties file.
+User configuration which is utilized at the project level are controlled with the `${project.home}`/maven.properties file.
 
-Plugin configuration
+# Plugin configuration
 
- The configuration of plugins is of the same form as the maven {{{plugin-descriptors}plugin descriptors}}
- themselves:
+The configuration of plugins is of the same form as the maven [plugin descriptors](#plugin-descriptors) themselves:
 
-+-----+
+```xml
 <plugins>
   <plugin>
    <id>xdoc</id>
@@ -102,38 +78,25 @@ Plugin configuration
    </parameters>
   </plugin>
 </plugins>
-+-----+
-
-Unified source directory
-
- Unified source directory structure that is analogous to the repository
- itself. This way locations of intermediary artifacts of a build would be
- in a known location. This would also help with developer setup i.e. getting
- new developers up and running. They could run a maven command and have all
- their source trees set up in the same way as their colleagues.
-
- here's what I do currently in the netbeans part of the mavenide project to
- find the relevant subprojects/sibling projects. I check if the user has
- defined the maven.multiproject.includes property in any of his properties
- files for the current project. if yes. then I'm able to find projects that
- can be offered to be opened together with the current project.
- problems with the current solution are:
- 1. information is duplicate. once in POM's dependencies and once in the
- maven.multiproject.includes property.
- 2. it works without problems only for projects with relative paths, e.g., from
- one CVS repository.. for projects from multiple SCM repositories it's harder
- to maintain the same relative links on all developer computers.
- not sure the unified source directory structure addresses this issue.
-
- Properties
-
- maven.user.config.dir (system,default=${user.home}/.m2)
- maven.home            (system,user,default=${user.home}/m2)
- maven.repo.local      (system,user,default=${maven.user.config.dir}/repository)
-
- We need to define what happens in the when things are not setup correctly
-
- o ~/.m2 directory does not exist
- o ~/.m2/maven.properties does not exist
- o if they once existed but now to do not exist
- o what the installer will take care of of what we can recover from
+```
+
+# Unified source directory
+
+Unified source directory structure that is analogous to the repository itself. This way locations of intermediary artifacts of a build would be in a known location. This would also help with developer setup i.e. getting new developers up and running. They could run a maven command and have all their source trees set up in the same way as their colleagues.
+
+here's what I do currently in the netbeans part of the mavenide project to find the relevant subprojects/sibling projects. I check if the user has defined the maven.multiproject.includes property in any of his properties files for the current project. if yes. then I'm able to find projects that can be offered to be opened together with the current project. problems with the current solution are: 1. information is duplicate. once in POM's dependencies and once in the maven.multiproject.in [...]
+
+### Properties
+
+```
+maven.user.config.dir (system,default=${user.home}/.m2)
+maven.home            (system,user,default=${user.home}/m2)
+maven.repo.local      (system,user,default=${maven.user.config.dir}/repository)
+```
+
+We need to define what happens in the when things are not setup correctly
+
+- `~/.m2` directory does not exist
+- `~/.m2/maven.properties` does not exist
+- if they once existed but now to do not exist
+- what the installer will take care of of what we can recover from
diff --git a/impl/maven-core/src/site/markdown/core-extensions.md.vm b/impl/maven-core/src/site/markdown/core-extensions.md.vm
index 164ec13e6f..2030a6f031 100644
--- a/impl/maven-core/src/site/markdown/core-extensions.md.vm
+++ b/impl/maven-core/src/site/markdown/core-extensions.md.vm
@@ -1,30 +1,31 @@
-~~ Licensed to the Apache Software Foundation (ASF) under one
-~~ or more contributor license agreements.  See the NOTICE file
-~~ distributed with this work for additional information
-~~ regarding copyright ownership.  The ASF licenses this file
-~~ to you under the Apache License, Version 2.0 (the
-~~ "License"); you may not use this file except in compliance
-~~ with the License.  You may obtain a copy of the License at
-~~
-~~ http://www.apache.org/licenses/LICENSE-2.0
-~~
-~~ Unless required by applicable law or agreed to in writing,
-~~ software distributed under the License is distributed on an
-~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-~~ KIND, either express or implied.  See the License for the
-~~ specific language governing permissions and limitations
-~~ under the License.
+---
+title: Maven Core Extensions Reference
+author:
+  - Hervé Boutemy
+date: 2016-06-25
+---
 
- ---
- Maven Core Extensions Reference
- ---
- Hervé Boutemy
- ---
- 2016-06-25
- ---
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
 
-Maven Core Extensions Reference
+http://www.apache.org/licenses/LICENSE-2.0
 
-  Maven core provides default {{{./extension.html}extensions}} as defined in <<</META-INF/maven/extension.xml>>>:
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
 
-%{snippet|id=core-extension|file=${project.basedir}/src/main/resources/META-INF/maven/extension.xml}
+# Maven Core Extensions Reference
+
+Maven core provides default [extensions](./extension.html) as defined in `/META-INF/maven/extension.xml`:
+
+<!-- MACRO{snippet|id=core-extension|file=${project.basedir}/src/main/resources/META-INF/maven/extension.xml} -->
diff --git a/impl/maven-core/src/site/markdown/default-bindings.md.vm b/impl/maven-core/src/site/markdown/default-bindings.md.vm
index c917d0c271..123acc464a 100644
--- a/impl/maven-core/src/site/markdown/default-bindings.md.vm
+++ b/impl/maven-core/src/site/markdown/default-bindings.md.vm
@@ -1,64 +1,70 @@
-~~ Licensed to the Apache Software Foundation (ASF) under one
-~~ or more contributor license agreements.  See the NOTICE file
-~~ distributed with this work for additional information
-~~ regarding copyright ownership.  The ASF licenses this file
-~~ to you under the Apache License, Version 2.0 (the
-~~ "License"); you may not use this file except in compliance
-~~ with the License.  You may obtain a copy of the License at
-~~
-~~ http://www.apache.org/licenses/LICENSE-2.0
-~~
-~~ Unless required by applicable law or agreed to in writing,
-~~ software distributed under the License is distributed on an
-~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-~~ KIND, either express or implied.  See the License for the
-~~ specific language governing permissions and limitations
-~~ under the License.
+---
+title: Plugins Bindings for Default Lifecycle Reference
+author:
+  - Hervé Boutemy
+date: 2013-08-02
+---
 
- ---
- Plugins Bindings for Default Lifecycle Reference
- ---
- Hervé Boutemy
- ---
- 2013-08-02
- ---
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
 
-Plugins Bindings for <<<default>>> Lifecycle Reference
+http://www.apache.org/licenses/LICENSE-2.0
 
-  The {{{./lifecycles.html}<<<default>>> lifecycle}} is defined without any plugin binding; plugins bindings are defined separately
-  in {{{./apidocs/org/apache/maven/lifecycle/providers/packaging/package-summary.html}<<<org.apache.maven.lifecycle.providers.packaging>>>}} package
-  because they are specific for each packaging:
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
 
-%{toc|fromDepth=2}
+# Plugins Bindings for `default` Lifecycle Reference
 
-  Versions of the plugins are shared in a few constants:
+The [`default` lifecycle](./lifecycles.html) is defined without any plugin binding; plugins bindings are defined separately in [`org.apache.maven.lifecycle.providers.packaging`](./apidocs/org/apache/maven/lifecycle/providers/packaging/package-summary.html) package because they are specific for each packaging:
 
-%{snippet|id=versions|file=${project.basedir}/src/main/java/org/apache/maven/lifecycle/providers/packaging/AbstractLifecycleMappingProvider.java}
+<!-- MACRO{toc|fromDepth=2} -->
 
-* Plugin bindings for <<<pom>>> packaging
+Versions of the plugins are shared in a few constants:
 
-%{snippet|id=pom|file=${project.basedir}/src/main/java/org/apache/maven/lifecycle/providers/packaging/PomLifecycleMappingProvider.java}
+<!-- MACRO{snippet|id=versions|file=${project.basedir}/src/main/java/org/apache/maven/lifecycle/providers/packaging/AbstractLifecycleMappingProvider.java} -->
 
-* Plugin bindings for <<<jar>>> packaging
+Plugin bindings for `pom` packaging
+-----------------------------------
 
-%{snippet|id=jar|file=${project.basedir}/src/main/java/org/apache/maven/lifecycle/providers/packaging/JarLifecycleMappingProvider.java}
+<!-- MACRO{snippet|id=pom|file=${project.basedir}/src/main/java/org/apache/maven/lifecycle/providers/packaging/PomLifecycleMappingProvider.java} -->
 
-* Plugin bindings for <<<ejb>>> packaging
+Plugin bindings for `jar` packaging
+-----------------------------------
 
-%{snippet|id=ejb|file=${project.basedir}/src/main/java/org/apache/maven/lifecycle/providers/packaging/EjbLifecycleMappingProvider.java}
+<!-- MACRO{snippet|id=jar|file=${project.basedir}/src/main/java/org/apache/maven/lifecycle/providers/packaging/JarLifecycleMappingProvider.java} -->
 
-* Plugin bindings for <<<maven-plugin>>> packaging
+Plugin bindings for `ejb` packaging
+-----------------------------------
 
-%{snippet|id=maven-plugin|file=${project.basedir}/src/main/java/org/apache/maven/lifecycle/providers/packaging/MavenPluginLifecycleMappingProvider.java}
+<!-- MACRO{snippet|id=ejb|file=${project.basedir}/src/main/java/org/apache/maven/lifecycle/providers/packaging/EjbLifecycleMappingProvider.java} -->
 
-* Plugin bindings for <<<war>>> packaging
+Plugin bindings for `maven-plugin` packaging
+--------------------------------------------
 
-%{snippet|id=war|file=${project.basedir}/src/main/java/org/apache/maven/lifecycle/providers/packaging/WarLifecycleMappingProvider.java}
+<!-- MACRO{snippet|id=maven-plugin|file=${project.basedir}/src/main/java/org/apache/maven/lifecycle/providers/packaging/MavenPluginLifecycleMappingProvider.java} -->
 
-* Plugin bindings for <<<ear>>> packaging
+Plugin bindings for `war` packaging
+-----------------------------------
 
-%{snippet|id=ear|file=${project.basedir}/src/main/java/org/apache/maven/lifecycle/providers/packaging/EarLifecycleMappingProvider.java}
+<!-- MACRO{snippet|id=war|file=${project.basedir}/src/main/java/org/apache/maven/lifecycle/providers/packaging/WarLifecycleMappingProvider.java} -->
 
-* Plugin bindings for <<<rar>>> packaging
+Plugin bindings for `ear` packaging
+-----------------------------------
 
-%{snippet|id=rar|file=${project.basedir}/src/main/java/org/apache/maven/lifecycle/providers/packaging/RarLifecycleMappingProvider.java}
+<!-- MACRO{snippet|id=ear|file=${project.basedir}/src/main/java/org/apache/maven/lifecycle/providers/packaging/EarLifecycleMappingProvider.java} -->
+
+Plugin bindings for `rar` packaging
+-----------------------------------
+
+<!-- MACRO{snippet|id=rar|file=${project.basedir}/src/main/java/org/apache/maven/lifecycle/providers/packaging/RarLifecycleMappingProvider.java} -->
diff --git a/impl/maven-core/src/site/markdown/getting-to-container-configured-mojos.md b/impl/maven-core/src/site/markdown/getting-to-container-configured-mojos.md
index 8b8a975f57..1c57d48995 100644
--- a/impl/maven-core/src/site/markdown/getting-to-container-configured-mojos.md
+++ b/impl/maven-core/src/site/markdown/getting-to-container-configured-mojos.md
@@ -1,102 +1,71 @@
-~~ Licensed to the Apache Software Foundation (ASF) under one
-~~ or more contributor license agreements.  See the NOTICE file
-~~ distributed with this work for additional information
-~~ regarding copyright ownership.  The ASF licenses this file
-~~ to you under the Apache License, Version 2.0 (the
-~~ "License"); you may not use this file except in compliance
-~~ with the License.  You may obtain a copy of the License at
-~~
-~~ http://www.apache.org/licenses/LICENSE-2.0
-~~
-~~ Unless required by applicable law or agreed to in writing,
-~~ software distributed under the License is distributed on an
-~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-~~ KIND, either express or implied.  See the License for the
-~~ specific language governing permissions and limitations
-~~ under the License.
+---
+title: Getting to Plexus-configured Mojos
+author:
+  - John Casey
+date: 2005-04-29
+---
 
-  ---
-  Getting to Plexus-configured Mojos
-  ---
-  John Casey
-  ---
-  2005-04-29
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
 
-Abstract
+http://www.apache.org/licenses/LICENSE-2.0
 
-  We're moving toward integrating mojos as first-class plexus components, while
-  at the same time avoiding introducing required plexus dependencies into the
-  mojo development model.
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
 
-  In order to really achieve this, we need mojo configurations (which are
-  provided both in terms of static expressions that are just looked up, and
-  in terms of user-provided configuration from properties or the POM).
-  If these mojos are to be first-class components, the configuration from these
-  various sources must be consolidated and injected using the container.
+# Abstract
 
-  Currently, mojo configuration is done externally to the container, in the
-  DefaultPluginManager in the maven-core API. In order to get from here to
-  there, we need to do several things to add capability to the default
-  configuration of plexus. This document will detail those changes.
+We're moving toward integrating mojos as first-class plexus components, while at the same time avoiding introducing required plexus dependencies into the mojo development model.
 
-Container Enhancements
+In order to really achieve this, we need mojo configurations (which are provided both in terms of static expressions that are just looked up, and in terms of user-provided configuration from properties or the POM). If these mojos are to be first-class components, the configuration from these various sources must be consolidated and injected using the container.
 
-* ExpressionEvaluator
+Currently, mojo configuration is done externally to the container, in the DefaultPluginManager in the maven-core API. In order to get from here to there, we need to do several things to add capability to the default configuration of plexus. This document will detail those changes.
 
-  Currently, the expression evaluator used to resolve configuration values
-  is the DefaultExpressionEvaluator, which is a local variable within the
-  implementation of the BasicComponentConfigurator. This ExpressionEvaluator
-  simply returns the expression itself as the resolved value, which adds
-  very little value to the container. Things like ${project.build.resources}
-  are not resolved, and result in a type mismatch for the member injection.
+# Container Enhancements
 
-  We need a replacement for DefaultExpressionEvaluator that is capable of
-  traversing an object graph and extracting Object values, not just Strings.
+## ExpressionEvaluator
 
-* ComponentConfigurator
+Currently, the expression evaluator used to resolve configuration values is the DefaultExpressionEvaluator, which is a local variable within the implementation of the BasicComponentConfigurator. This ExpressionEvaluator simply returns the expression itself as the resolved value, which adds very little value to the container. Things like `${project.build.resources}` are not resolved, and result in a type mismatch for the member injection.
 
-  Currently, the container uses BasicComponentConfigurator, to configure
-  components. This wouldn't be a problem, except for the local instance of
-  DefaultExpressionEvaluator used within. See the above discussion for more
-  on why this evaluator is bad. We need to provide either an alternative
-  implementation under a different roleHint, or else replace the
-  BasicComponentConfigurator.
+We need a replacement for DefaultExpressionEvaluator that is capable of traversing an object graph and extracting Object values, not just Strings.
 
-* Other
+## ComponentConfigurator
 
-  We may need to define a new lifecycle/phase to contextualize a mojo right
-  before it's used, and reset it's state afterward. Up to now, the approach
-  of most plexus components has been to avoid instance state like the plague.
-  With the current parameter passing model of mojos, this will not be possible,
-  particularly when we move mojos to a singleton instantiation model, and then
-  run a reactorized project...the successive calls may leave behind configuration
-  artifacts from invocation to invocation.
+Currently, the container uses BasicComponentConfigurator, to configure components. This wouldn't be a problem, except for the local instance of DefaultExpressionEvaluator used within. See the above discussion for more on why this evaluator is bad. We need to provide either an alternative implementation under a different roleHint, or else replace the BasicComponentConfigurator.
 
-Maven Modifications
+## Other
 
-* DefaultPluginManager
+We may need to define a new lifecycle/phase to contextualize a mojo right before it's used, and reset it's state afterward. Up to now, the approach of most plexus components has been to avoid instance state like the plague. With the current parameter passing model of mojos, this will not be possible, particularly when we move mojos to a singleton instantiation model, and then run a reactorized project...the successive calls may leave behind configuration artifacts from invocation to invocation.
 
-  s/getMojoConfiguration()/getConfiguration()/g
+# Maven Modifications
 
-  That should re-enable usage of mojo configuration. Ideally, we won't need any
-  of the code that references this method, since the container should provide
-  some way of recontextualizing the mojo, and all we would need to do is inject
-  POM configuration via the lookup method or something.
+## DefaultPluginManager
 
-* PluginDescriptorBuilder
+s/getMojoConfiguration()/getConfiguration()/g
 
-  s/getMojoConfiguration()/getConfiguration()/g
+That should re-enable usage of mojo configuration. Ideally, we won't need any of the code that references this method, since the container should provide some way of recontextualizing the mojo, and all we would need to do is inject POM configuration via the lookup method or something.
 
-  That should be all there is to it.
+## PluginDescriptorBuilder
 
-* MojoDescriptor
+s/getMojoConfiguration()/getConfiguration()/g
 
-  Remove set/getMojoConfiguration(..), as it will become obsolete.
+That should be all there is to it.
 
-* MavenSession
+## MojoDescriptor
 
-  We may need to enable the context injection here, since this will be
-  instantiated per-project. If we always inject the same context parameters,
-  and are careful to inject nulls where things are missing, we should be
-  able to minimize reconfiguration artifacts injected from basic parameters.
+Remove set/getMojoConfiguration(..), as it will become obsolete.
 
+## MavenSession
+
+We may need to enable the context injection here, since this will be instantiated per-project. If we always inject the same context parameters, and are careful to inject nulls where things are missing, we should be able to minimize reconfiguration artifacts injected from basic parameters.
diff --git a/impl/maven-core/src/site/markdown/index.md b/impl/maven-core/src/site/markdown/index.md
index cb5e357038..0d5a0dc0d0 100644
--- a/impl/maven-core/src/site/markdown/index.md
+++ b/impl/maven-core/src/site/markdown/index.md
@@ -1,97 +1,61 @@
-~~ Licensed to the Apache Software Foundation (ASF) under one
-~~ or more contributor license agreements.  See the NOTICE file
-~~ distributed with this work for additional information
-~~ regarding copyright ownership.  The ASF licenses this file
-~~ to you under the Apache License, Version 2.0 (the
-~~ "License"); you may not use this file except in compliance
-~~ with the License.  You may obtain a copy of the License at
-~~
-~~ http://www.apache.org/licenses/LICENSE-2.0
-~~
-~~ Unless required by applicable law or agreed to in writing,
-~~ software distributed under the License is distributed on an
-~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-~~ KIND, either express or implied.  See the License for the
-~~ specific language governing permissions and limitations
-~~ under the License.
-
- -----
- Introduction
- -----
- Hervé Boutemy
- -----
- 2013-07-27
- -----
-
-Maven Core
-
- Maven Core classes managing the whole build process.
-
-* Reference Documentation
-
- * {{{./lifecycles.html}lifecycles}} and {{{./default-bindings.html}plugin bindings to <<<default>>> lifecycle}},
-
- * {{{./artifact-handlers.html}default artifact handlers}}, to manage {{{../../api/maven-api-model/maven.html#class_dependency}dependency types}},
-
- * {{{./extension.html}extension descriptor}} and {{{./core-extensions.html}core extensions}},
-
- * {{{/guides/mini/guide-maven-classloading.html}classloader hierarchy}} done by <<<ClassRealmManager>>> component
- ({{{./apidocs/org/apache/maven/classrealm/ClassRealmManager.html}javadoc}}),
- with its <<<DefaultClassRealmManager>>> implementation
- ({{{./xref/org/apache/maven/classrealm/DefaultClassRealmManager.html}source}}), using
- {{{https://codehaus-plexus.github.io/plexus-classworlds/}Plexus Classworlds}},
-
-* Useful entry points
-
- * <<<Maven>>> component ({{{./apidocs/org/apache/maven/Maven.html}javadoc}}),
- with its <<<DefaultMaven>>> implementation ({{{./xref/org/apache/maven/DefaultMaven.html}source}}), to drive
- a full Maven execution session
-
- * <<<ProjectBuilder>>> component ({{{./apidocs/org/apache/maven/project/ProjectBuilder.html}javadoc}}),
- with its <<<DefaultProjectBuilder>>> implementation
- ({{{./xref/org/apache/maven/project/DefaultProjectBuilder.html}source}}), to prepare {{{./apidocs/org/apache/maven/project/MavenProject.html}<<<MavenProject>>> descriptor}} from POM files,
-
- * <<<LifecycleExecutor>>> component ({{{./apidocs/org/apache/maven/lifecycle/LifecycleExecutor.html}javadoc}}),
- with its <<<DefaultLifecycleExecutor>>> implementation({{{/xref/org/apache/maven/lifecycle/DefaultLifecycleExecutor.html}source}}), to plan or execute tasks.\
-   on plugin goals execution order:
-
-   * <<in a given phase, goals order is not expected to be guaranteed nor finely tuned>>:
-     it is just a consequence of the order obtained during {{{../maven-model-builder/}effective model building}},
-     which combines profile activation+injection and inheritance assembly from parents,
-
-   * known limitations are notably that:
-
-     1. plugin goal execution in a child is usually simply appended (at end): you can't try to insert in the middle of pre-existing inherited executions,
-
-     2. append happens at plugin level first, then goal level, independently from phases.
-        This means for example that adding pluginA:goal2 to pre-existing (pluginA:goal1, pluginB:goal) will lead to (pluginA:goal1, pluginA:goal2, pluginB:goal)
-
-   * see effective POM as shown by {{{/plugins/maven-help-plugin/effective-pom-mojo.html}<<<help:effective-pom>>>}} to see the effective plugins then goals order.
-
- * <<<MavenPluginManager>>> component ({{{./apidocs/org/apache/maven/plugin/MavenPluginManager.html}javadoc}}),
- with its <<<DefaultMavenPluginManager>>> implementation
- ({{{./xref/org/apache/maven/plugin/internal/DefaultMavenPluginManager.html}source}}),
-
- * {{{./apidocs/org/apache/maven/plugin/PluginParameterExpressionEvaluator.html}PluginParameterExpressionEvaluator}}, used to
- evaluate plugin parameters values during Mojo configuration,
-
- * <<<ExceptionHandler>>> component ({{{./apidocs/org/apache/maven/exception/ExceptionHandler.html}javadoc}}),
- with its <<<DefaultExceptionHandler>>> implementation
- ({{{./xref/org/apache/maven/exception/DefaultExceptionHandler.html}source}}), use to transform exception into useful end-user messages.
-
-* Toolchains
-
- * {{{../../api/maven-api-toolchain/toolchains.html}Toolchains descriptor reference}},
-
- * public API for toolchains-aware plugins: <<<ToolchainManager>>> component ({{{./apidocs/org/apache/maven/toolchain/ToolchainManager.html}javadoc}})
- with its <<<DefaultToolchainManager>>> implementation ({{{./xref/org/apache/maven/toolchain/DefaultToolchainManager.html}source}}),
- to get selected <<<Toolchain>>> ({{{./apidocs/org/apache/maven/toolchain/Toolchain.html}javadoc}}) instance,
-
- * internal <<<ToolchainManagerPrivate>>> component ({{{./apidocs/org/apache/maven/toolchain/ToolchainManagerPrivate.html}javadoc}})
- with its <<<DefaultToolchainManagerPrivate>>> implementation ({{{./xref/org/apache/maven/toolchain/DefaultToolchainManagerPrivate.html}source}}),
- to manage toolchain selection,
-
- * internal JDK toolchain implementation: <<<JavaToolchain>>> interface ({{{./apidocs/org/apache/maven/toolchain/java/JavaToolchain.html}javadoc}}),
- with its <<<JavaToolchainImpl>>> implementation
- ({{{./xref/org/apache/maven/toolchain/java/JavaToolchainImpl.html}source}}) and <<<JavaToolchainFactory>>>
- factory ({{{./xref/org/apache/maven/toolchain/java/JavaToolchainFactory.html}source}}).
+---
+title: Introduction
+author:
+  - Hervé Boutemy
+date: 2013-07-27
+---
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+# Maven Core
+
+Maven Core classes managing the whole build process.
+
+## Reference Documentation
+
+- [lifecycles](./lifecycles.html) and [plugin bindings to `default` lifecycle](./default-bindings.html),
+- [default artifact handlers](./artifact-handlers.html), to manage [dependency types](../../api/maven-api-model/maven.html#class_dependency),
+- [extension descriptor](./extension.html) and [core extensions](./core-extensions.html),
+- [classloader hierarchy](/guides/mini/guide-maven-classloading.html) done by `ClassRealmManager` component ([javadoc](./apidocs/org/apache/maven/classrealm/ClassRealmManager.html)), with its `DefaultClassRealmManager` implementation ([source](./xref/org/apache/maven/classrealm/DefaultClassRealmManager.html)), using [Plexus Classworlds](https://codehaus-plexus.github.io/plexus-classworlds/),
+
+## Useful entry points
+
+- `Maven` component ([javadoc](./apidocs/org/apache/maven/Maven.html)), with its `DefaultMaven` implementation ([source](./xref/org/apache/maven/DefaultMaven.html)), to drive a full Maven execution session
+- `ProjectBuilder` component ([javadoc](./apidocs/org/apache/maven/project/ProjectBuilder.html)), with its `DefaultProjectBuilder` implementation ([source](./xref/org/apache/maven/project/DefaultProjectBuilder.html)), to prepare [`MavenProject` descriptor](./apidocs/org/apache/maven/project/MavenProject.html) from POM files,
+- `LifecycleExecutor` component ([javadoc](./apidocs/org/apache/maven/lifecycle/LifecycleExecutor.html)), with its `DefaultLifecycleExecutor` implementation([source](/xref/org/apache/maven/lifecycle/DefaultLifecycleExecutor.html)), to plan or execute tasks.  
+    on plugin goals execution order:
+    - **in a given phase, goals order is not expected to be guaranteed nor finely tuned**: it is just a consequence of the order obtained during [effective model building](../maven-model-builder/), which combines profile activation+injection and inheritance assembly from parents,
+    - known limitations are notably that:
+
+        1\. plugin goal execution in a child is usually simply appended (at end): you can't try to insert in the middle of pre-existing inherited executions,
+
+        2\. append happens at plugin level first, then goal level, independently from phases. This means for example that adding pluginA:goal2 to pre-existing (pluginA:goal1, pluginB:goal) will lead to (pluginA:goal1, pluginA:goal2, pluginB:goal)
+
+    - see effective POM as shown by [`help:effective-pom`](/plugins/maven-help-plugin/effective-pom-mojo.html) to see the effective plugins then goals order.
+- `MavenPluginManager` component ([javadoc](./apidocs/org/apache/maven/plugin/MavenPluginManager.html)), with its `DefaultMavenPluginManager` implementation ([source](./xref/org/apache/maven/plugin/internal/DefaultMavenPluginManager.html)),
+- [PluginParameterExpressionEvaluator](./apidocs/org/apache/maven/plugin/PluginParameterExpressionEvaluator.html), used to evaluate plugin parameters values during Mojo configuration,
+- `ExceptionHandler` component ([javadoc](./apidocs/org/apache/maven/exception/ExceptionHandler.html)), with its `DefaultExceptionHandler` implementation ([source](./xref/org/apache/maven/exception/DefaultExceptionHandler.html)), use to transform exception into useful end-user messages.
+
+## Toolchains
+
+- [Toolchains descriptor reference](../../api/maven-api-toolchain/toolchains.html),
+- public API for toolchains-aware plugins: `ToolchainManager` component ([javadoc](./apidocs/org/apache/maven/toolchain/ToolchainManager.html)) with its `DefaultToolchainManager` implementation ([source](./xref/org/apache/maven/toolchain/DefaultToolchainManager.html)), to get selected `Toolchain` ([javadoc](./apidocs/org/apache/maven/toolchain/Toolchain.html)) instance,
+- internal `ToolchainManagerPrivate` component ([javadoc](./apidocs/org/apache/maven/toolchain/ToolchainManagerPrivate.html)) with its `DefaultToolchainManagerPrivate` implementation ([source](./xref/org/apache/maven/toolchain/DefaultToolchainManagerPrivate.html)), to manage toolchain selection,
+- internal JDK toolchain implementation: `JavaToolchain` interface ([javadoc](./apidocs/org/apache/maven/toolchain/java/JavaToolchain.html)), with its `JavaToolchainImpl` implementation ([source](./xref/org/apache/maven/toolchain/java/JavaToolchainImpl.html)) and `JavaToolchainFactory` factory ([source](./xref/org/apache/maven/toolchain/java/JavaToolchainFactory.html)).
diff --git a/impl/maven-core/src/site/markdown/inheritance.md b/impl/maven-core/src/site/markdown/inheritance.md
index 46e240f0f2..0b27cefd32 100644
--- a/impl/maven-core/src/site/markdown/inheritance.md
+++ b/impl/maven-core/src/site/markdown/inheritance.md
@@ -1,61 +1,56 @@
-~~ Licensed to the Apache Software Foundation (ASF) under one
-~~ or more contributor license agreements.  See the NOTICE file
-~~ distributed with this work for additional information
-~~ regarding copyright ownership.  The ASF licenses this file
-~~ to you under the Apache License, Version 2.0 (the
-~~ "License"); you may not use this file except in compliance
-~~ with the License.  You may obtain a copy of the License at
-~~
-~~ http://www.apache.org/licenses/LICENSE-2.0
-~~
-~~ Unless required by applicable law or agreed to in writing,
-~~ software distributed under the License is distributed on an
-~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-~~ KIND, either express or implied.  See the License for the
-~~ specific language governing permissions and limitations
-~~ under the License.
+---
+title: Inheritance in Maven
+author:
+  - The Maven Team
+---
 
- -----
- Inheritance in Maven
- -----
- The Maven Team
- -----
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
 
-Inheritance in Maven
+http://www.apache.org/licenses/LICENSE-2.0
 
- In order the understand how inheritance works in Maven there are a few notions that you must be familiar with:
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
 
- * The maven super model
+# Inheritance in Maven
 
- * how parent poms are processed
+In order the understand how inheritance works in Maven there are a few notions that you must be familiar with:
 
- * the order in which elements in the POM are overridden
+- The maven super model
+- how parent poms are processed
+- the order in which elements in the POM are overridden
+- minimum element-set for a valid project pom
 
- * minimum element-set for a valid project pom
+# Maven super model
 
+Inheritance is recursive in Maven but there is a special model which is the implicit super parent in the lineage of models you may specify:
 
-Maven super model
+all of the models that you specify are collected to produce a lineage and then the super model is place at the top of that lineage to provide default values.
 
- Inheritance is recursive in Maven but there is a special model which is the implicit super parent in the lineage
- of models you may specify:
+The super model is where we place all the values which we believe to be standard, values that can be shared and utilized across all your Maven projects.
 
- all of the models that you specify are collected to produce a lineage and then the super model is place at
- the top of that lineage to provide default values.
-
- The super model is where we place all the values which we believe to be standard, values that can be shared and
- utilized across all your Maven projects.
-
-+-----+
+```
  m0 <- m1 <- m2
-+-----+
+```
 
- which is transformed into
+which is transformed into
 
-+-----+
+```
  super model <- m0 <- m1 <- m2
-+-----+
+```
 
-+-----+
+```xml
 <project>
  <modelVersion>4.0.0</modelVersion>
  <parent>
@@ -64,37 +59,20 @@ Maven super model
    <version></version>
  </parent>
 </project>
-+-----+
-
-Extending the POM in the future
+```
 
-  In order to anticipate changes in the structure of the POM as new releases of
-  maven occur, the maven inheritance model must be pinned against a particular
-  modelVersion. This is required so that a change from modelVersion 4.0.0 to
-  4.1.0 doesn't cause compatibility problems with users who have not upgraded
-  their projects. It also allows for a certain amount of legacy support into the
-  future. Therefore, we should rename this file from pom.xml in the maven-core
-  jarfile to pom-4.0.0.xml (and successive revisions to the base pom made to
-  accommodate changes in the model will be named accordingly - 4.0.1, 4.0.2, ...).
+# Extending the POM in the future
 
-Minimum Element-Set for a Project POM
+In order to anticipate changes in the structure of the POM as new releases of maven occur, the maven inheritance model must be pinned against a particular modelVersion. This is required so that a change from modelVersion 4.0.0 to 4.1.0 doesn't cause compatibility problems with users who have not upgraded their projects. It also allows for a certain amount of legacy support into the future. Therefore, we should rename this file from pom.xml in the maven-core jarfile to pom-4.0.0.xml (and  [...]
 
-  In order to furnish a basic set of information which we need to distinguish one
-  project from another, maven requires a minimum set of elements to be specified
-  in each project's pom.xml.
+# Minimum Element-Set for a Project POM
 
-   - [modelVersion] tells maven which version of the object model this project
-       is compliant with (to support future legacy concerns)
+In order to furnish a basic set of information which we need to distinguish one project from another, maven requires a minimum set of elements to be specified in each project's pom.xml.
 
-   - [artifactId] tells maven what the artifact name is for this particular
-       project. Each project should have a distinct artifactId.
+\- \[modelVersion\] tells maven which version of the object model this project is compliant with (to support future legacy concerns)
 
-   - [version] tells maven what release of this artifact we're trying to produce.
-       The fact that a project has a distinct pom.xml should indicate a separate
-       release cycle that is also distinct to that project, so a concrete version
-       declaration is required.
+\- \[artifactId\] tells maven what the artifact name is for this particular project. Each project should have a distinct artifactId.
 
-   - [name] tells maven what the user-friendly name of this project is. The name
-       element is similar to artifactId in that it is a unique descriptor for
-       this and only this project, and therefore should be concretely defined.
+\- \[version\] tells maven what release of this artifact we're trying to produce. The fact that a project has a distinct pom.xml should indicate a separate release cycle that is also distinct to that project, so a concrete version declaration is required.
 
+\- \[name\] tells maven what the user-friendly name of this project is. The name element is similar to artifactId in that it is a unique descriptor for this and only this project, and therefore should be concretely defined.
diff --git a/impl/maven-core/src/site/markdown/lifecycles.md.vm b/impl/maven-core/src/site/markdown/lifecycles.md.vm
index 18d9909220..c5990496b9 100644
--- a/impl/maven-core/src/site/markdown/lifecycles.md.vm
+++ b/impl/maven-core/src/site/markdown/lifecycles.md.vm
@@ -1,49 +1,52 @@
-~~ Licensed to the Apache Software Foundation (ASF) under one
-~~ or more contributor license agreements.  See the NOTICE file
-~~ distributed with this work for additional information
-~~ regarding copyright ownership.  The ASF licenses this file
-~~ to you under the Apache License, Version 2.0 (the
-~~ "License"); you may not use this file except in compliance
-~~ with the License.  You may obtain a copy of the License at
-~~
-~~ http://www.apache.org/licenses/LICENSE-2.0
-~~
-~~ Unless required by applicable law or agreed to in writing,
-~~ software distributed under the License is distributed on an
-~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-~~ KIND, either express or implied.  See the License for the
-~~ specific language governing permissions and limitations
-~~ under the License.
+---
+title: Lifecycles Reference
+author:
+  - Hervé Boutemy
+date: 2013-08-02
+---
 
- -----
- Lifecycles Reference
- -----
- Hervé Boutemy
- -----
- 2013-08-02
- -----
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
 
-Lifecycles Reference
+http://www.apache.org/licenses/LICENSE-2.0
 
-  Maven defines 3 lifecycles, which are registered in {{{./apidocs/org/apache/maven/api/services/LifecycleRegistry.html}<<<LifecycleRegistry>>>}}:
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
 
-%{toc|fromDepth=2}
+# Lifecycles Reference
 
-* <<<default>>> Lifecycle
+Maven defines 3 lifecycles, which are registered in [`LifecycleRegistry`](./apidocs/org/apache/maven/api/services/LifecycleRegistry.html):
 
-  <<<default>>> lifecycle is defined only with phases, <<without>> any associated plugin binding:
-  plugins bindings for this lifecycle are {{{./default-bindings.html}defined separately for each packaging}}:
+<!-- MACRO{toc|fromDepth=2} -->
 
-%{snippet|id=default|file=${project.basedir}/src/main/java/org/apache/maven/internal/impl/DefaultLifecycleRegistry.java}
+`default` Lifecycle
+-------------------
 
-* <<<clean>>> Lifecycle
+`default` lifecycle is defined only with phases, **without** any associated plugin binding: plugins bindings for this lifecycle are [defined separately for each packaging](./default-bindings.html):
 
-  <<<clean>>> lifecycle phases are defined with their plugins bindings:
+<!-- MACRO{snippet|id=default|file=${project.basedir}/src/main/java/org/apache/maven/internal/impl/DefaultLifecycleRegistry.java} -->
 
-%{snippet|id=clean|file=${project.basedir}/src/main/java/org/apache/maven/internal/impl/DefaultLifecycleRegistry.java}
+`clean` Lifecycle
+-----------------
 
-* <<<site>>> Lifecycle
+`clean` lifecycle phases are defined with their plugins bindings:
 
-  <<<site>>> lifecycle phases are defined with their plugins bindings:
+<!-- MACRO{snippet|id=clean|file=${project.basedir}/src/main/java/org/apache/maven/internal/impl/DefaultLifecycleRegistry.java} -->
 
-%{snippet|id=site|file=${project.basedir}/src/main/java/org/apache/maven/internal/impl/DefaultLifecycleRegistry.java}
+`site` Lifecycle
+----------------
+
+`site` lifecycle phases are defined with their plugins bindings:
+
+<!-- MACRO{snippet|id=site|file=${project.basedir}/src/main/java/org/apache/maven/internal/impl/DefaultLifecycleRegistry.java} -->
diff --git a/impl/maven-core/src/site/markdown/offline-mode.md b/impl/maven-core/src/site/markdown/offline-mode.md
index 0311bc8ce0..be1d1d2ca1 100644
--- a/impl/maven-core/src/site/markdown/offline-mode.md
+++ b/impl/maven-core/src/site/markdown/offline-mode.md
@@ -1,269 +1,165 @@
-~~ Licensed to the Apache Software Foundation (ASF) under one
-~~ or more contributor license agreements.  See the NOTICE file
-~~ distributed with this work for additional information
-~~ regarding copyright ownership.  The ASF licenses this file
-~~ to you under the Apache License, Version 2.0 (the
-~~ "License"); you may not use this file except in compliance
-~~ with the License.  You may obtain a copy of the License at
-~~
-~~ http://www.apache.org/licenses/LICENSE-2.0
-~~
-~~ Unless required by applicable law or agreed to in writing,
-~~ software distributed under the License is distributed on an
-~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-~~ KIND, either express or implied.  See the License for the
-~~ specific language governing permissions and limitations
-~~ under the License.
-
-  ---
-  Offline Mode Design
-  ---
-  John Casey
-  ---
-  2005-04-08
-  ---
-
-Offline Mode Design
-
-* UPDATE: 18-April-2005
-
-  We cannot take the approach outlined below of detecting which remote
-  repositories are "really" offline, since offline mode is more of a behavior,
-  and this will lead to counter-intuitive results. A different feature may exist
-  unimplemented, which is to detect when the network is down and provide better
-  feedback for that case. However, when offline mode is declared, nothing
-  earmarked as remote should be accessed, regardless of whether it is actually
-  a physically local resource.
-
-  NOTE: One side effect of this design change is that all offline-mode code can
-  be isolated to maven-core, maven-plugin-descriptor, and [possibly]
-  maven-artifact. Usage of maven-wagon will be determined by an offline-aware
-  manager.
-
-* Assumptions: What is Offline?
-
-  For the purposes of determining the areas sensitive to offline status,
-  it is definitely useful to define what the offline state really means.
-
-  [[1]] This is obvious, but the network/internet is unavailable.
-
-  [[2]] Localhost (127.0.0.1) may also be unavailable if the whole
-        network stack is offline.
+---
+title: Offline Mode Design
+author:
+  - John Casey
+date: 2005-04-08
+---
 
-  [[3]] "Remote" repositories referenced using the file:// protocol may
-        be available. However, if that file:// url references a
-        file-share, as in the case of an NFS or SMB mount, that will
-        be unavailable.
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
 
-  So, offline mode has several implications, some of which may not be
-  altogether obvious:
-
-  * Localhost may be unavailable. Therefore, even locally installed
-    server processes which work by conversing over a port may fail.
+http://www.apache.org/licenses/LICENSE-2.0
 
-  * Not all "remote" repositories will fail. Specifically, if the remote
-    repo uses the file:// protocol, and it doesn't refer to a shared
-    filesystem, it will continue to be available.
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
 
-  The question remaining is: Which level of offline mode will we support? It
-  seems reasonable to assume that users will be able to tell when localhost is
-  not active (in most cases, localhost should be available, even if the rest of
-  the network is not). Therefore, let's concentrate on the state where no
-  network <beyond localhost> exists, and leave the more extreme state to users
-  to diagnose and correct as necessary.
+# Offline Mode Design
 
-* Why is Offline Mode Important?
+## UPDATE: 18-April-2005
 
-  Offline mode is essential for breaking the requirement that m2 operate in a
-  network-connected environment. It means legitimizing a development environment
-  in which there is no network connection, and providing a robust m2 service
-  offering in such circumstances. Introduction of offline mode allows m2 to
-  anticipate the inevitable network failures that accompany being physically
-  disconnected from the network, and adjust it's behavior accordingly.
+We cannot take the approach outlined below of detecting which remote repositories are "really" offline, since offline mode is more of a behavior, and this will lead to counter-intuitive results. A different feature may exist unimplemented, which is to detect when the network is down and provide better feedback for that case. However, when offline mode is declared, nothing earmarked as remote should be accessed, regardless of whether it is actually a physically local resource.
 
-  It is more than simply understanding that m2 cannot go and check for the
-  latest version of some snapshot artifact. If m2 is offline, SCM operations
-  cannot succeed; no artifact downloads can take place, regardless of whether
-  they are snapshot versions; artifact deployment cannot take place; certain
-  types of tests cannot be setup, since the container used to run them cannot be
-  reached or started.
+NOTE: One side effect of this design change is that all offline-mode code can be isolated to maven-core, maven-plugin-descriptor, and \[possibly\] maven-artifact. Usage of maven-wagon will be determined by an offline-aware manager.
 
-  All of these operations will produce their own unique errors in the absence of
-  a coordinated offline strategy. In addition, efforts to unite these failing
-  behaviors behind a consistent user interface is much, much more difficult if
-  the system can't tell whether it has access to the network required by these
-  operations.
+## Assumptions: What is Offline?
 
-  Offline mode really means anticipating a lack of network connectivity, and as
-  a result turning off certain services provided by m2 and providing a coherent
-  way of predicting and reporting when network-related failures will take place.
-  It means warning users that since the network is missing, certain features and
-  operations will be unavailable, rather than simply waiting for those
-  operations to fail, then trying to help users decipher the error messages they
-  get as a result.
+For the purposes of determining the areas sensitive to offline status, it is definitely useful to define what the offline state really means.
 
-* Implications for Resolution
+1. This is obvious, but the network/internet is unavailable.
+1. Localhost (127.0.0.1) may also be unavailable if the whole network stack is offline.
+1. "Remote" repositories referenced using the file\:// protocol may be available. However, if that file\:// url references a file-share, as in the case of an NFS or SMB mount, that will be unavailable.
 
-** Dependency Resolution
+    So, offline mode has several implications, some of which may not be altogether obvious:
 
-  This one is obvious...we only have access to the repositories using
-  the file:// protocol and living on a truly local filesystem when
-  offline.
+    - Localhost may be unavailable. Therefore, even locally installed server processes which work by conversing over a port may fail.
+    - Not all "remote" repositories will fail. Specifically, if the remote repo uses the file\:// protocol, and it doesn't refer to a shared filesystem, it will continue to be available.
 
-** Plugin Resolution
+        The question remaining is: Which level of offline mode will we support? It seems reasonable to assume that users will be able to tell when localhost is not active (in most cases, localhost should be available, even if the rest of the network is not). Therefore, let's concentrate on the state where no network _beyond localhost_ exists, and leave the more extreme state to users to diagnose and correct as necessary.
 
-  This is similar to dependency resolution. Plugin repositories not
-  using file:// or not residing on a local (not shared) filesystem will
-  be unavailable.
+## Why is Offline Mode Important?
 
+Offline mode is essential for breaking the requirement that m2 operate in a network-connected environment. It means legitimizing a development environment in which there is no network connection, and providing a robust m2 service offering in such circumstances. Introduction of offline mode allows m2 to anticipate the inevitable network failures that accompany being physically disconnected from the network, and adjust it's behavior accordingly.
 
-* Implications for Mojo Execution
+It is more than simply understanding that m2 cannot go and check for the latest version of some snapshot artifact. If m2 is offline, SCM operations cannot succeed; no artifact downloads can take place, regardless of whether they are snapshot versions; artifact deployment cannot take place; certain types of tests cannot be setup, since the container used to run them cannot be reached or started.
 
-** Deployment mojos
+All of these operations will produce their own unique errors in the absence of a coordinated offline strategy. In addition, efforts to unite these failing behaviors behind a consistent user interface is much, much more difficult if the system can't tell whether it has access to the network required by these operations.
 
-  The concept of deployment is dependent on the availability of a some
-  remote repository. Just as above, if that repository is not using
-  file:// (which is highly likely to be the case), or the repository is
-  not on a local filesystem, deployment will fail when offline.
+Offline mode really means anticipating a lack of network connectivity, and as a result turning off certain services provided by m2 and providing a coherent way of predicting and reporting when network-related failures will take place. It means warning users that since the network is missing, certain features and operations will be unavailable, rather than simply waiting for those operations to fail, then trying to help users decipher the error messages they get as a result.
 
-** Testing mojos
+## Implications for Resolution
 
-  This can be a problem if the tests are more than simple unit tests;
-  that is, if they require configuration of a server process, and
-  subsequent testing in-container.
+### Dependency Resolution
 
-  Since we're only going to concern ourselves with states where localhost is
-  still active, we only need to worry about this case when the server container
-  is <<not>> installed on localhost. This allows the popular pattern of starting
-  a server container in-JVM, running tests against it, and shutting it down.
+This one is obvious...we only have access to the repositories using the file\:// protocol and living on a truly local filesystem when offline.
 
-** SCM mojos
+### Plugin Resolution
 
-  See below for discussion on SCM-related operations. Any mojo which
-  carries out some analysis or other interaction with a SCM system
-  will likely be unavailable when in offline mode.
+This is similar to dependency resolution. Plugin repositories not using file\:// or not residing on a local (not shared) filesystem will be unavailable.
 
+## Implications for Mojo Execution
 
-* Implications for Subsystems
+### Deployment mojos
 
-** Maven-Wagon
+The concept of deployment is dependent on the availability of a some remote repository. Just as above, if that repository is not using file\:// (which is highly likely to be the case), or the repository is not on a local filesystem, deployment will fail when offline.
 
-  Parts of Wagon will continue to function normally. These include:
+### Testing mojos
 
-  * The file wagon, provided the referenced location is on a local
-    filesystem.
+This can be a problem if the tests are more than simple unit tests; that is, if they require configuration of a server process, and subsequent testing in-container.
 
-    It is not possible to determine whether a file-based location will
-    be available except on a case-by-case basis (or a root-url by
-    root-url basis). We may want to move the offline sensitivity entirely to
-    Maven-Artifact, below, so we can be smarter about testing filesystem-based
-    repositories, etc.
+Since we're only going to concern ourselves with states where localhost is still active, we only need to worry about this case when the server container is **not** installed on localhost. This allows the popular pattern of starting a server container in-JVM, running tests against it, and shutting it down.
 
-  * If not otherwise specified, all other wagons are assumed to be
-    remote-only, and are therefore sensitive to offline mode.
+### SCM mojos
 
-** Maven-Artifact
+See below for discussion on SCM-related operations. Any mojo which carries out some analysis or other interaction with a SCM system will likely be unavailable when in offline mode.
 
-  This is wholly dependent on Maven-Wagon, above.
+## Implications for Subsystems
 
-  We could possibly use a flag on a particular Wagon to see whether it supports
-  offline mode, and then test to see if the file-based basedir for an artifact
-  repository works...if it doesn't work, we can mark that repository offline...
+### Maven-Wagon
 
-  OTOH, all offline-mode checks can probably be run from Wagon-based APIs.
+Parts of Wagon will continue to function normally. These include:
 
-** Maven-SCM
+- The file wagon, provided the referenced location is on a local filesystem.
 
-  In all but trivial examples, SCM operations cannot complete without
-  having access to the versioning server. Therefore, it is assumed that
-  any SCM-related activity will be unavailable when m2 is in offline
-  mode.
+    It is not possible to determine whether a file-based location will be available except on a case-by-case basis (or a root-url by root-url basis). We may want to move the offline sensitivity entirely to Maven-Artifact, below, so we can be smarter about testing filesystem-based repositories, etc.
 
-** Maven-Core
+- If not otherwise specified, all other wagons are assumed to be remote-only, and are therefore sensitive to offline mode.
 
-  We'll examine the different parts of maven-core on a case-by-case
-  basis, below:
+### Maven-Artifact
 
-*** DefaultLifecycleExecutor
+This is wholly dependent on Maven-Wagon, above.
 
-  When binding goals to the project's configured lifecycle, each mojo
-  descriptor should declare whether it requires online/offline status.
-  This value should be a java.lang.Boolean, so it can implement 3VL
-  (three value logic: yes, no, don't-care). The requiresOnline
-  field in the mojo descriptor has the following semantics:
+We could possibly use a flag on a particular Wagon to see whether it supports offline mode, and then test to see if the file-based basedir for an artifact repository works...if it doesn't work, we can mark that repository offline...
 
-  [true] Online status is required for this mojo to function
-         correctly.
+OTOH, all offline-mode checks can probably be run from Wagon-based APIs.
 
-  [false] <<(Default)>> Either status is acceptable for the mojo to
-          execute. It doesn't care.
+### Maven-SCM
 
-  The majority of mojos will leave the requiresOnline == false,
-  since online/offline status will be irrelevant, provided they have
-  access to their required artifacts and other classpath elements. In the case
-  of required artifacts and other classpath elements, this is assumed by the
-  mojo API to be in a correct state, and will be handled by the Wagon
-  modifications.
+In all but trivial examples, SCM operations cannot complete without having access to the versioning server. Therefore, it is assumed that any SCM-related activity will be unavailable when m2 is in offline mode.
 
+### Maven-Core
 
-* Implementation Notes
+We'll examine the different parts of maven-core on a case-by-case basis, below:
 
-** Accessibility of offline status
+#### DefaultLifecycleExecutor
 
-  Offline status should be indicated in the MavenSettings instance, since it
-  can conceivably be set from either the settings.xml or the command-line.
+When binding goals to the project's configured lifecycle, each mojo descriptor should declare whether it requires online/offline status. This value should be a java.lang.Boolean, so it can implement 3VL (three value logic: yes, no, don't-care). The requiresOnline field in the mojo descriptor has the following semantics:
 
-  In the event the '-o' switch is the impetus for setting offline mode, this
-  should result in modification of the active profile in the MavenSettings
-  instance, just as definition of the active profile from the command-line
-  should result in similar modification. This object is not meant to be
-  static within the build process, but rather to be setup as an aggregation of
-  all settings-related information passed into the system.
+<dl>
+<dt>true</dt>
+<dd>Online status is required for this mojo to function correctly.</dd>
+<dt>false</dt>
+<dd><b>(Default)</b> Either status is acceptable for the mojo to execute. It doesn't care.
 
-** Control over downloads
+The majority of mojos will leave the requiresOnline == false, since online/offline status will be irrelevant, provided they have access to their required artifacts and other classpath elements. In the case of required artifacts and other classpath elements, this is assumed by the mojo API to be in a correct state, and will be handled by the Wagon modifications.
 
-  Find the control point for m2 using maven-wagon. At this point, inject
-  a offline status parameter which is used when retrieving the specific Wagon.
+</dd>
+</dl>
 
-  If <<<offline == true>>>:
+## Implementation Notes
 
-  * If the wagon is not bound to "file://", then ignore the request and print
-    a debug message.
+### Accessibility of offline status
 
-  * If the wagon is bound to "file://" then:
+Offline status should be indicated in the MavenSettings instance, since it can conceivably be set from either the settings.xml or the command-line.
 
-    Retrieve the file or base-url file to be "downloaded".
+In the event the '-o' switch is the impetus for setting offline mode, this should result in modification of the active profile in the MavenSettings instance, just as definition of the active profile from the command-line should result in similar modification. This object is not meant to be static within the build process, but rather to be setup as an aggregation of all settings-related information passed into the system.
+
+### Control over downloads
 
-    * If the file (or more usefully, the base-url file) exists, proceed.
+Find the control point for m2 using maven-wagon. At this point, inject a offline status parameter which is used when retrieving the specific Wagon.
 
-    * If the file (or base-url file) doesn't exist, assume that this location
-      is part of a file-share. Ignore the request and print a debug message
-      as above.
+If `offline == true`:
 
-** Control over mojos in the lifecycle
+- If the wagon is not bound to "file\://", then ignore the request and print a debug message.
+- If the wagon is bound to "file\://" then:
+
+    Retrieve the file or base-url file to be "downloaded".
 
-  When binding a mojo to the project's lifecycle instance, check the mojo
-  descriptor's requiredConnectivity field.
+    - If the file (or more usefully, the base-url file) exists, proceed.
+    - If the file (or base-url file) doesn't exist, assume that this location is part of a file-share. Ignore the request and print a debug message as above.
 
-  * If <<<(offline == true) && (requiresOnline != true)>>>, bind
-    the mojo to the lifecycle.
+### Control over mojos in the lifecycle
 
-    In this case, the client is <<offline>>, and the mojo does not require
-    online status.
+When binding a mojo to the project's lifecycle instance, check the mojo descriptor's requiredConnectivity field.
 
-  * If <<<(offline == false) && (requiresOnline == true)>>>, bind
-    the mojo to the lifecycle.
+- If `(offline == true) && (requiresOnline != true)`, bind the mojo to the lifecycle.
 
-    In this case, the client is <<online>>, and the mojo either requires
-    <<online>> status, or else doesn't care.
+    In this case, the client is **offline**, and the mojo does not require online status.
 
-  * Otherwise, don't bind the mojo. Log a debug message to indicate that it is
-    sensitive the online state of the application, and that this state is
-    currently wrong for execution.
+- If `(offline == false) && (requiresOnline == true)`, bind the mojo to the lifecycle.
 
-    <<NOTE:>> Do we want to fail when we cannot bind a mojo to the lifecycle
-    because of offline/online status? That would probably indicate that the user
-    was trying to do something they cannot succeed at for now...so we probably
-    should throw an exception in this case.
+    In this case, the client is **online**, and the mojo either requires **online** status, or else doesn't care.
 
+- Otherwise, don't bind the mojo. Log a debug message to indicate that it is sensitive the online state of the application, and that this state is currently wrong for execution.
 
+    **NOTE:** Do we want to fail when we cannot bind a mojo to the lifecycle because of offline/online status? That would probably indicate that the user was trying to do something they cannot succeed at for now...so we probably should throw an exception in this case.
diff --git a/impl/maven-core/src/site/markdown/plugin-execution-isolation.md b/impl/maven-core/src/site/markdown/plugin-execution-isolation.md
index b2983120e8..93394ef2b6 100644
--- a/impl/maven-core/src/site/markdown/plugin-execution-isolation.md
+++ b/impl/maven-core/src/site/markdown/plugin-execution-isolation.md
@@ -1,34 +1,33 @@
-~~ Licensed to the Apache Software Foundation (ASF) under one
-~~ or more contributor license agreements.  See the NOTICE file
-~~ distributed with this work for additional information
-~~ regarding copyright ownership.  The ASF licenses this file
-~~ to you under the Apache License, Version 2.0 (the
-~~ "License"); you may not use this file except in compliance
-~~ with the License.  You may obtain a copy of the License at
-~~
-~~ http://www.apache.org/licenses/LICENSE-2.0
-~~
-~~ Unless required by applicable law or agreed to in writing,
-~~ software distributed under the License is distributed on an
-~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-~~ KIND, either express or implied.  See the License for the
-~~ specific language governing permissions and limitations
-~~ under the License.
-
- -----
- Maven plugins
- -----
- The Maven Team
- -----
-
-Maven plugin execution isolation
-
- Maven2 takes advantage of Plexus' ability to execute a component using a
- ClassWorlds ClassRealm that is populated with the JAR containing the
- component in question and all of its dependencies. Using ClassWorlds
- notation for realms we have the following:
-
-+-----+
+---
+title: Maven plugins
+author:
+  - The Maven Team
+---
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+# Maven plugin execution isolation
+
+Maven2 takes advantage of Plexus' ability to execute a component using a ClassWorlds ClassRealm that is populated with the JAR containing the component in question and all of its dependencies. Using ClassWorlds notation for realms we have the following:
+
+```
       [plexus.core]
             ^
             |
@@ -36,22 +35,8 @@ Maven plugin execution isolation
      ^            ^
      |            |
 [plugin0]      [plugin1]
-+-----+
-
- The <<<plexus.core>>> realm contains the resources required to run any
- plexus application; The <<<plexus.core.maven>>> realm contains all of the
- resources required to run Maven. Each subsequent plugin realm contains the
- JAR plugin as well as its dependencies. The realms noted above are setup
- in a hierarchical structure where the resources in the parent realms are
- available but the <<realm is searched first before a search is made in
- the parent realm>>.
-
- Plugins are guaranteed to be provided the resources found in
- <<<plexus.core>>> and <<<plexus.core.maven>>> realms at run-time if required.
- Plugins can state compile-time dependencies on any of the resources found in
- the core realms listed above and these dependencies will be included in the
- plugin descriptor that is generated but when running within Maven these
- resources will be filtered out. In other words these resources will not
- be added the realm created for the plugins execution as they are provided
- in the parent realms.
+```
+
+The `plexus.core` realm contains the resources required to run any plexus application; The `plexus.core.maven` realm contains all of the resources required to run Maven. Each subsequent plugin realm contains the JAR plugin as well as its dependencies. The realms noted above are setup in a hierarchical structure where the resources in the parent realms are available but the **realm is searched first before a search is made in the parent realm**.
 
+Plugins are guaranteed to be provided the resources found in `plexus.core` and `plexus.core.maven` realms at run-time if required. Plugins can state compile-time dependencies on any of the resources found in the core realms listed above and these dependencies will be included in the plugin descriptor that is generated but when running within Maven these resources will be filtered out. In other words these resources will not be added the realm created for the plugins execution as they are [...]
diff --git a/impl/maven-core/src/test/java/org/apache/maven/artifact/handler/ArtifactHandlerTest.java b/impl/maven-core/src/test/java/org/apache/maven/artifact/handler/ArtifactHandlerTest.java
index a603b2429e..3b91bc634c 100644
--- a/impl/maven-core/src/test/java/org/apache/maven/artifact/handler/ArtifactHandlerTest.java
+++ b/impl/maven-core/src/test/java/org/apache/maven/artifact/handler/ArtifactHandlerTest.java
@@ -39,14 +39,14 @@ class ArtifactHandlerTest {
 
     @Test
     @SuppressWarnings("checkstyle:UnusedLocalVariable")
-    void testAptConsistency() throws Exception {
-        File apt = getTestFile("src/site/apt/artifact-handlers.apt");
+    void testDocumentationConsistency() throws Exception {
+        File doc = getTestFile("src/site/markdown/artifact-handlers.md");
 
-        List<String> lines = Files.readAllLines(apt.toPath());
+        List<String> lines = Files.readAllLines(doc.toPath());
 
         for (String line : lines) {
-            if (line.startsWith("||")) {
-                String[] cols = line.split("\\|\\|");
+            if (line.startsWith("|type|")) {
+                String[] cols = line.split("\\|");
                 String[] expected = new String[] {
                     "",
                     "type",
@@ -55,14 +55,15 @@ void testAptConsistency() throws Exception {
                     "packaging",
                     "language",
                     "added to classpath",
-                    "includesDependencies",
-                    ""
+                    "includesDependencies"
                 };
 
                 int i = 0;
                 for (String col : cols) {
                     assertEquals(expected[i++], col.trim(), "Wrong column header");
                 }
+            } else if (line.startsWith("|:-")) {
+                continue; // the alignment row beneath the header
             } else if (line.startsWith("|")) {
                 String[] cols = line.split("\\|");
 
@@ -97,7 +98,11 @@ private String trimApt(String content, String type) {
     }
 
     private String trimApt(String content) {
-        content = content.replace('<', ' ').replace('>', ' ').trim();
+        content = content.replace('`', ' ')
+                .replace('_', ' ')
+                .replace('<', ' ')
+                .replace('>', ' ')
+                .trim();
 
         return (content.length() == 0) ? null : content;
     }
diff --git a/impl/maven-impl/src/site/markdown/dependency-types.md b/impl/maven-impl/src/site/markdown/dependency-types.md
index 1d119112b6..b72c9a279a 100644
--- a/impl/maven-impl/src/site/markdown/dependency-types.md
+++ b/impl/maven-impl/src/site/markdown/dependency-types.md
@@ -1,82 +1,57 @@
-~~ Licensed to the Apache Software Foundation (ASF) under one
-~~ or more contributor license agreements.  See the NOTICE file
-~~ distributed with this work for additional information
-~~ regarding copyright ownership.  The ASF licenses this file
-~~ to you under the Apache License, Version 2.0 (the
-~~ "License"); you may not use this file except in compliance
-~~ with the License.  You may obtain a copy of the License at
-~~
-~~ http://www.apache.org/licenses/LICENSE-2.0
-~~
-~~ Unless required by applicable law or agreed to in writing,
-~~ software distributed under the License is distributed on an
-~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-~~ KIND, either express or implied.  See the License for the
-~~ specific language governing permissions and limitations
-~~ under the License.
+---
+title: Default Dependency Types
+author:
+  - Hervé Boutemy
+date: 2024-12-27
+---
 
- ---
- Default Dependency Types
- ---
- Hervé Boutemy
- ---
- 2024-12-27
- ---
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
 
-Default Dependency Types Reference
+http://www.apache.org/licenses/LICENSE-2.0
 
-  Defined in <<<DefaultTypeProvider>>>
-  ({{{./apidocs/org/apache/maven/internal/impl/resolver/type/DefaultTypeProvider.html}javadoc}},
-  {{{./xref/org/apache/maven/internal/impl/resolver/type/DefaultTypeProvider.html}source}}):
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
 
-*-----------------------+---------------+------------+-----------+-----------------------+-----------------------+
-|| type                 || classifier   || extension || language || path types           || includesDependencies ||
-*-----------------------+---------------+------------+-----------+-----------------------+-----------------------+
-|| Maven                ||              ||           ||          ||                      ||                      ||
-*-----------------------+---------------+------------+-----------+-----------------------+-----------------------+
-| <<<pom>>>             |               | <= type>   | none      |                       |                       |
-*-----------------------+---------------+------------+-----------+-----------------------+-----------------------+
-| <<<bom>>> *           |               | <<<pom>>>  | none      |                       |                       |
-*-----------------------+---------------+------------+-----------+-----------------------+-----------------------+
-| <<<maven-plugin>>>    |               | <<<jar>>>  | java      | classes               |                       |
-*-----------------------+---------------+------------+-----------+-----------------------+-----------------------+
-|| Java                 ||              ||           ||          ||                      ||                      ||
-*-----------------------+---------------+------------+-----------+-----------------------+-----------------------+
-| <<<jar>>>             |               | <= type>   | java      | classes, modules      |                       |
-*-----------------------+---------------+------------+-----------+-----------------------+-----------------------+
-| <<<java-source>>>     | <<<sources>>> | <<<jar>>>  | java      |                       |                       |
-*-----------------------+---------------+------------+-----------+-----------------------+-----------------------+
-| <<<javadoc>>>         | <<<javadoc>>> | <<<jar>>>  | java      | classes               |                       |
-*-----------------------+---------------+------------+-----------+-----------------------+-----------------------+
-| <<<test-jar>>>        | <<<tests>>>   | <<<jar>>>  | java      | classes, patch module |                       |
-*-----------------------+---------------+------------+-----------+-----------------------+-----------------------+
-| <<<test-java-source>>> * | <<<test-sources>>> | <<<jar>>> | java   |                       |                       |
-*-----------------------+---------------+------------+-----------+-----------------------+-----------------------+
-| <<<modular-jar>>> *   |               | <<<jar>>>  | java      | modules               |                       |
-*-----------------------+---------------+------------+-----------+-----------------------+-----------------------+
-| <<<classpath-jar>>> * |               | <<<jar>>>  | java      | classes               |                       |
-*-----------------------+---------------+------------+-----------+-----------------------+-----------------------+
-| <<<fatjar>>> *        |               | <<<jar>>>  | java      | classes               | <<<true>>>            |
-*-----------------------+---------------+------------+-----------+-----------------------+-----------------------+
-| <<<processor>>> *     |               | <<<jar>>>  | java      | processor classes, processor modules |           |
-*-----------------------+---------------+------------+-----------+-----------------------+-----------------------+
-| <<<classpath-processor>>> * |         | <<<jar>>>  | java      | processor classes     |                       |
-*-----------------------+---------------+------------+-----------+-----------------------+-----------------------+
-| <<<modular-processor>>> * |           | <<<jar>>>  | java      | processor modules     |                       |
-*-----------------------+---------------+------------+-----------+-----------------------+-----------------------+
-|| Java/Jakarta EE      ||              ||           ||          ||                      ||                      ||
-*-----------------------+---------------+------------+-----------+-----------------------+-----------------------+
-| <<<ejb>>>             |               | <<<jar>>>  | java      | classes               |                       |
-*-----------------------+---------------+------------+-----------+-----------------------+-----------------------+
-| <<<ejb-client>>>      | <<<client>>>  | <<<jar>>>  | java      | classes               |                       |
-*-----------------------+---------------+------------+-----------+-----------------------+-----------------------+
-| <<<war>>>             |               | <= type>   | java      |                       | <<<true>>>            |
-*-----------------------+---------------+------------+-----------+-----------------------+-----------------------+
-| <<<ear>>>             |               | <= type>   | java      |                       | <<<true>>>            |
-*-----------------------+---------------+------------+-----------+-----------------------+-----------------------+
-| <<<rar>>>             |               | <= type>   | java      |                       | <<<true>>>            |
-*-----------------------+---------------+------------+-----------+-----------------------+-----------------------+
-| <<<par>>> *           |               | <= type>   | java      |                       | <<<true>>>            |
-*-----------------------+---------------+------------+-----------+-----------------------+-----------------------+
+# Default Dependency Types Reference
 
-  * = new in Maven 4
\ No newline at end of file
+Defined in `DefaultTypeProvider` ([javadoc](./apidocs/org/apache/maven/internal/impl/resolver/type/DefaultTypeProvider.html), [source](./xref/org/apache/maven/internal/impl/resolver/type/DefaultTypeProvider.html)):
+
+|type|classifier|extension|language|path types|includesDependencies|
+|:---|:---|:---|:---|:---|:---|
+|**Maven**| | | | | |
+|`pom`| |_= type_|none| | |
+|`bom` *| |`pom`|none| | |
+|`maven-plugin`| |`jar`|java|classes| |
+|**Java**| | | | | |
+|`jar`| |_= type_|java|classes, modules| |
+|`java-source`|`sources`|`jar`|java| | |
+|`javadoc`|`javadoc`|`jar`|java|classes| |
+|`test-jar`|`tests`|`jar`|java|classes, patch module| |
+|`test-java-source` *|`test-sources`|`jar`|java| | |
+|`modular-jar` *| |`jar`|java|modules| |
+|`classpath-jar` *| |`jar`|java|classes| |
+|`fatjar` *| |`jar`|java|classes|`true`|
+|`processor` *| |`jar`|java|processor classes, processor modules| |
+|`classpath-processor` *| |`jar`|java|processor classes| |
+|`modular-processor` *| |`jar`|java|processor modules| |
+|**Java/Jakarta EE**| | | | | |
+|`ejb`| |`jar`|java|classes| |
+|`ejb-client`|`client`|`jar`|java|classes| |
+|`war`| |_= type_|java| |`true`|
+|`ear`| |_= type_|java| |`true`|
+|`rar`| |_= type_|java| |`true`|
+|`par` *| |_= type_|java| |`true`|
+
+- = new in Maven 4
diff --git a/impl/maven-impl/src/test/java/org/apache/maven/impl/resolver/type/DefaultTypeProviderTest.java b/impl/maven-impl/src/test/java/org/apache/maven/impl/resolver/type/DefaultTypeProviderTest.java
index d0bf22edca..6bef7dac09 100644
--- a/impl/maven-impl/src/test/java/org/apache/maven/impl/resolver/type/DefaultTypeProviderTest.java
+++ b/impl/maven-impl/src/test/java/org/apache/maven/impl/resolver/type/DefaultTypeProviderTest.java
@@ -20,6 +20,7 @@
 
 import java.nio.file.Files;
 import java.nio.file.Path;
+import java.util.Arrays;
 import java.util.LinkedHashSet;
 import java.util.List;
 import java.util.Map;
@@ -44,18 +45,18 @@ class DefaultTypeProviderTest {
             "processor modules", JavaPathType.PROCESSOR_MODULES);
 
     @Test
-    void testAptConsistency() throws Exception {
+    void testDocumentationConsistency() throws Exception {
         Map<String, DefaultType> types =
                 new DefaultTypeProvider().types().stream().collect(Collectors.toMap(DefaultType::id, t -> t));
 
-        Path apt = Path.of(System.getProperty("basedir", ""), "src/site/apt/dependency-types.apt");
-        List<String> lines = Files.readAllLines(apt);
+        Path doc = Path.of(System.getProperty("basedir", ""), "src/site/markdown/dependency-types.md");
+        List<String> lines = Files.readAllLines(doc);
 
         Set<String> documentedTypes = new LinkedHashSet<>();
 
         for (String line : lines) {
-            if (line.startsWith("||") || !line.startsWith("|")) {
-                continue;
+            if (!line.startsWith("|") || line.startsWith("|type|") || line.startsWith("|:-")) {
+                continue; // not a row, or the header row, or the alignment row beneath it
             }
 
             String[] cols = line.split("\\|");
@@ -63,6 +64,11 @@ void testAptConsistency() throws Exception {
             if (typeId == null) {
                 continue;
             }
+            // a row carrying only a label groups the rows beneath it; APT wrote those as a
+            // second header row, which a Markdown table cannot express
+            if (Arrays.stream(cols).skip(2).allMatch(c -> trimApt(c) == null)) {
+                continue;
+            }
 
             documentedTypes.add(typeId);
 
@@ -89,7 +95,7 @@ void testAptConsistency() throws Exception {
 
         Set<String> undocumented = new LinkedHashSet<>(types.keySet());
         undocumented.removeAll(documentedTypes);
-        assertTrue(undocumented.isEmpty(), "Types in provider but not in APT doc: " + undocumented);
+        assertTrue(undocumented.isEmpty(), "Types in provider but not documented: " + undocumented);
     }
 
     private Set<PathType> parsePathTypes(String pathTypesStr) {
@@ -106,8 +112,14 @@ private Set<PathType> parsePathTypes(String pathTypesStr) {
         return result;
     }
 
+    /** Strips the Markdown emphasis and code markers the table uses around a cell value. */
     private String trimApt(String content) {
-        content = content.replace('<', ' ').replace('>', ' ').replace('*', ' ').trim();
+        content = content.replace('`', ' ')
+                .replace('_', ' ')
+                .replace('<', ' ')
+                .replace('>', ' ')
+                .replace('*', ' ')
+                .trim();
         return content.isEmpty() ? null : content;
     }
 }
diff --git a/impl/maven-logging/src/site/markdown/index.md b/impl/maven-logging/src/site/markdown/index.md
index 01a29ee1bb..05d311a6bc 100644
--- a/impl/maven-logging/src/site/markdown/index.md
+++ b/impl/maven-logging/src/site/markdown/index.md
@@ -1,35 +1,35 @@
-~~ Licensed to the Apache Software Foundation (ASF) under one
-~~ or more contributor license agreements.  See the NOTICE file
-~~ distributed with this work for additional information
-~~ regarding copyright ownership.  The ASF licenses this file
-~~ to you under the Apache License, Version 2.0 (the
-~~ "License"); you may not use this file except in compliance
-~~ with the License.  You may obtain a copy of the License at
-~~
-~~ http://www.apache.org/licenses/LICENSE-2.0
-~~
-~~ Unless required by applicable law or agreed to in writing,
-~~ software distributed under the License is distributed on an
-~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-~~ KIND, either express or implied.  See the License for the
-~~ specific language governing permissions and limitations
-~~ under the License.
-
- -----
- About
- -----
- Hervé Boutemy
- -----
- 2023-06-19
- -----
-
-Maven SLF4J Provider
-
- An extension to {{{https://www.slf4j.org/api/org/slf4j/simple/SimpleLogger.html}SLF4J Simple}} to add enhanced color support.
-
- Color is managed by <<<MavenSimpleLogger>>>, created by <<<MavenSimpleLoggerFactory>>>, and injected by <<<StaticLoggerBinder>>>: everything else is
- copied at build time from {{{https://www.slf4j.org/api/org/slf4j/simple/SimpleLogger.html}SLF4J Simple}}
-
-* See Also
-
- * {{{../../compat/maven-embedder/logging.html}Maven Logging}}
+---
+title: About
+author:
+  - Hervé Boutemy
+date: 2023-06-19
+---
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+# Maven SLF4J Provider
+
+An extension to [SLF4J Simple](https://www.slf4j.org/api/org/slf4j/simple/SimpleLogger.html) to add enhanced color support.
+
+Color is managed by `MavenSimpleLogger`, created by `MavenSimpleLoggerFactory`, and injected by `StaticLoggerBinder`: everything else is copied at build time from [SLF4J Simple](https://www.slf4j.org/api/org/slf4j/simple/SimpleLogger.html)
+
+## See Also
+
+- [Maven Logging](../../compat/maven-embedder/logging.html)
diff --git a/its/core-it-suite/src/site/markdown/bootstrap.md.vm b/its/core-it-suite/src/site/markdown/bootstrap.md.vm
index 252fb56bd0..38858f0dee 100644
--- a/its/core-it-suite/src/site/markdown/bootstrap.md.vm
+++ b/its/core-it-suite/src/site/markdown/bootstrap.md.vm
@@ -1,96 +1,108 @@
- -----
- Maven Core Integration Tests Bootstrap
- -----
- Hervé Boutemy
- -----
- 2017-04-04
- -----
+---
+title: Maven Core Integration Tests Bootstrap
+author:
+  - Hervé Boutemy
+date: 2017-04-04
+---
 
-~~ Licensed to the Apache Software Foundation (ASF) under one
-~~ or more contributor license agreements.  See the NOTICE file
-~~ distributed with this work for additional information
-~~ regarding copyright ownership.  The ASF licenses this file
-~~ to you under the Apache License, Version 2.0 (the
-~~ "License"); you may not use this file except in compliance
-~~ with the License.  You may obtain a copy of the License at
-~~
-~~   http://www.apache.org/licenses/LICENSE-2.0
-~~
-~~ Unless required by applicable law or agreed to in writing,
-~~ software distributed under the License is distributed on an
-~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-~~ KIND, either express or implied.  See the License for the
-~~ specific language governing permissions and limitations
-~~ under the License.
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
 
-~~ NOTE: For help with the syntax of this file, see:
-~~ http://maven.apache.org/doxia/references/apt-format.html
+http://www.apache.org/licenses/LICENSE-2.0
 
-Maven Core Integration Tests Bootstrap
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
 
-  Core IT Bootstrapping downloads from Central repository every dependency (artifacts, plugins) required to let
-  Core ITs Suite run without downloading anything later (see {{{./index.html#Core_ITs_Suite_and_Dependencies_.28incl._Plugins.29}Core ITs Suite and dependencies}} rationale).
-  
-  Content to download is defined in {{{https://github.com/apache/maven-integration-testing/tree/master/core-it-suite/src/test/resources/bootstrap}a series of bootstrap projects}}:
+# Maven Core Integration Tests Bootstrap
 
-%{toc|section=1|fromDepth=2}
+Core IT Bootstrapping downloads from Central repository every dependency (artifacts, plugins) required to let Core ITs Suite run without downloading anything later (see [Core ITs Suite and dependencies](./index.html#Core_ITs_Suite_and_Dependencies_.28incl._Plugins.29) rationale).
 
-* Base Plugins And Their Dependencies
+Content to download is defined in [a series of bootstrap projects](https://github.com/apache/maven-integration-testing/tree/master/core-it-suite/src/test/resources/bootstrap):
 
-%{snippet|file=${project.build.directory}/test-classes/bootstrap/target/resolve-plugins.txt}
+<!-- MACRO{toc|section=1|fromDepth=2} -->
 
-* Group 1 Dependencies
+Base Plugins And Their Dependencies
+-----------------------------------
 
-%{snippet|file=${project.build.directory}/test-classes/bootstrap/group-1/target/resolve.txt}
+<!-- MACRO{snippet|file=${project.build.directory}/test-classes/bootstrap/target/resolve-plugins.txt} -->
 
-* Group 2 Dependencies
+Group 1 Dependencies
+--------------------
 
-%{snippet|file=${project.build.directory}/test-classes/bootstrap/group-2/target/resolve.txt}
+<!-- MACRO{snippet|file=${project.build.directory}/test-classes/bootstrap/group-1/target/resolve.txt} -->
 
-* Group 3 Dependencies
+Group 2 Dependencies
+--------------------
 
-%{snippet|file=${project.build.directory}/test-classes/bootstrap/group-3/target/resolve.txt}
+<!-- MACRO{snippet|file=${project.build.directory}/test-classes/bootstrap/group-2/target/resolve.txt} -->
 
-* Group 4 Dependencies
+Group 3 Dependencies
+--------------------
 
-%{snippet|file=${project.build.directory}/test-classes/bootstrap/group-4/target/resolve.txt}
+<!-- MACRO{snippet|file=${project.build.directory}/test-classes/bootstrap/group-3/target/resolve.txt} -->
 
-* Group 5 Dependencies
+Group 4 Dependencies
+--------------------
 
-%{snippet|file=${project.build.directory}/test-classes/bootstrap/group-5/target/resolve.txt}
+<!-- MACRO{snippet|file=${project.build.directory}/test-classes/bootstrap/group-4/target/resolve.txt} -->
 
-* Group 6 Dependencies
+Group 5 Dependencies
+--------------------
 
-%{snippet|file=${project.build.directory}/test-classes/bootstrap/group-6/target/resolve.txt}
+<!-- MACRO{snippet|file=${project.build.directory}/test-classes/bootstrap/group-5/target/resolve.txt} -->
 
-* Group 7 Dependencies
+Group 6 Dependencies
+--------------------
 
-%{snippet|file=${project.build.directory}/test-classes/bootstrap/group-7/target/resolve.txt}
+<!-- MACRO{snippet|file=${project.build.directory}/test-classes/bootstrap/group-6/target/resolve.txt} -->
 
-* Group 8 Dependencies
+Group 7 Dependencies
+--------------------
 
-%{snippet|file=${project.build.directory}/test-classes/bootstrap/group-8/target/resolve.txt}
+<!-- MACRO{snippet|file=${project.build.directory}/test-classes/bootstrap/group-7/target/resolve.txt} -->
 
-* Group 9 Dependencies
+Group 8 Dependencies
+--------------------
 
-%{snippet|file=${project.build.directory}/test-classes/bootstrap/group-9/target/resolve.txt}
+<!-- MACRO{snippet|file=${project.build.directory}/test-classes/bootstrap/group-8/target/resolve.txt} -->
 
-* Group 10 Dependencies
+Group 9 Dependencies
+--------------------
 
-%{snippet|file=${project.build.directory}/test-classes/bootstrap/group-10/target/resolve.txt}
+<!-- MACRO{snippet|file=${project.build.directory}/test-classes/bootstrap/group-9/target/resolve.txt} -->
 
-* Group 11 Dependencies
+Group 10 Dependencies
+---------------------
 
-%{snippet|file=${project.build.directory}/test-classes/bootstrap/group-11/target/resolve.txt}
+<!-- MACRO{snippet|file=${project.build.directory}/test-classes/bootstrap/group-10/target/resolve.txt} -->
 
-* Group 12 Dependencies
+Group 11 Dependencies
+---------------------
 
-%{snippet|file=${project.build.directory}/test-classes/bootstrap/group-12/target/resolve.txt}
+<!-- MACRO{snippet|file=${project.build.directory}/test-classes/bootstrap/group-11/target/resolve.txt} -->
 
-* Group 13 Dependencies
+Group 12 Dependencies
+---------------------
 
-%{snippet|file=${project.build.directory}/test-classes/bootstrap/group-13/target/resolve.txt}
+<!-- MACRO{snippet|file=${project.build.directory}/test-classes/bootstrap/group-12/target/resolve.txt} -->
 
-* Group 14 Dependencies
+Group 13 Dependencies
+---------------------
 
-%{snippet|file=${project.build.directory}/test-classes/bootstrap/group-14/target/resolve.txt}
+<!-- MACRO{snippet|file=${project.build.directory}/test-classes/bootstrap/group-13/target/resolve.txt} -->
+
+Group 14 Dependencies
+---------------------
+
+<!-- MACRO{snippet|file=${project.build.directory}/test-classes/bootstrap/group-14/target/resolve.txt} -->
diff --git a/its/core-it-suite/src/site/markdown/index.md.vm b/its/core-it-suite/src/site/markdown/index.md.vm
index e7285dcc52..646fdce4f3 100644
--- a/its/core-it-suite/src/site/markdown/index.md.vm
+++ b/its/core-it-suite/src/site/markdown/index.md.vm
@@ -1,79 +1,68 @@
- -----
- Maven Core Integration Tests Suite
- -----
- Hervé Boutemy
- -----
- 2011-09-04
- -----
-
-~~ Licensed to the Apache Software Foundation (ASF) under one
-~~ or more contributor license agreements.  See the NOTICE file
-~~ distributed with this work for additional information
-~~ regarding copyright ownership.  The ASF licenses this file
-~~ to you under the Apache License, Version 2.0 (the
-~~ "License"); you may not use this file except in compliance
-~~ with the License.  You may obtain a copy of the License at
-~~
-~~   http://www.apache.org/licenses/LICENSE-2.0
-~~
-~~ Unless required by applicable law or agreed to in writing,
-~~ software distributed under the License is distributed on an
-~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-~~ KIND, either express or implied.  See the License for the
-~~ specific language governing permissions and limitations
-~~ under the License.
-
-~~ NOTE: For help with the syntax of this file, see:
-~~ http://maven.apache.org/doxia/references/apt-format.html
-
-Maven Core Integration Tests Suite
-
-  This module provides the {{{./testapidocs/org/apache/maven/it/package-summary.html}effective Core Integration Tests suite}},
-  starting with {{{./bootstrap.html}bootstrap}}.
-
-* Running Core ITs Suite
-
-  Follow the steps that are described in the {{{https://github.com/apache/maven-integration-testing/blob/master/README.md}README.md}} 
-  of the official {{{https://github.com/apache/maven-integration-testing}Core ITs Suite}} repository.
-
-* Core ITs Suite Results
-
-  ITs results are displayed on the console and can be published in the site through Surefire Report.
-
-+----
-mvn -Preporting site
-+----
+---
+title: Maven Core Integration Tests Suite
+author:
+  - Hervé Boutemy
+date: 2011-09-04
+---
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+# Maven Core Integration Tests Suite
+
+This module provides the [effective Core Integration Tests suite](./testapidocs/org/apache/maven/it/package-summary.html), starting with [bootstrap](./bootstrap.html).
 
-  Currently deployed {{{./surefire-report.html}Surefire Report}} was generated with following environment:
+Running Core ITs Suite
+----------------------
+
+Follow the steps that are described in the [README.md](https://github.com/apache/maven-integration-testing/blob/master/README.md) of the official [Core ITs Suite](https://github.com/apache/maven-integration-testing) repository.
+
+Core ITs Suite Results
+----------------------
+
+ITs results are displayed on the console and can be published in the site through Surefire Report.
+
+```shell
+mvn -Preporting site
+```
 
-%{snippet|file=${project.build.directory}/info.txt}
+Currently deployed [Surefire Report](./surefire-report.html) was generated with following environment:
 
+<!-- MACRO{snippet|file=${project.build.directory}/info.txt} -->
 
-* Core ITs Suite and Dependencies (incl. Plugins)
+Core ITs Suite and Dependencies (incl. Plugins)
+-----------------------------------------------
 
- A good IT does not depend on external repos like Central, it uses dedicated test plugins and test repositories.
- The {{{https://github.com/apache/maven-integration-testing/blob/master/core-it-suite/src/test/resources-filtered/settings.xml}default <<<settings.xml>>>}}
- used by ITs helps to enforce this by pointing <<<central>>> at <<<file:target/null>>>,
- which obviously can't resolve anything. This setup using a file-based dummy repo also helps execution time,
- because this repo produces (expected) <<<404>>>s much faster than a HTTP-based repo.
+A good IT does not depend on external repos like Central, it uses dedicated test plugins and test repositories. The [default `settings.xml`](https://github.com/apache/maven-integration-testing/blob/master/core-it-suite/src/test/resources-filtered/settings.xml) used by ITs helps to enforce this by pointing `central` at `file:target/null`, which obviously can't resolve anything. This setup using a file-based dummy repo also helps execution time, because this repo produces (expected) `404`s [...]
 
- The one place where access to Central is desired is by adding artifacts to the
- {{{https://github.com/apache/maven-integration-testing/blob/master/core-it-suite/src/test/resources/bootstrap.txt}bootstrap.txt}} file,
- which is used to prime the local repo with any artifacts the ITs will need.  This file should be kept sorted alphabetically for ease of use.
+The one place where access to Central is desired is by adding artifacts to the [bootstrap.txt](https://github.com/apache/maven-integration-testing/blob/master/core-it-suite/src/test/resources/bootstrap.txt) file, which is used to prime the local repo with any artifacts the ITs will need. This file should be kept sorted alphabetically for ease of use.
 
- So some care needs to be taken when introducing new dependencies into the ITs themselves or {{{../core-it-support/}the support plugins}}.
- Many times the failures that we encounter are discrepancies between actual artifact consumption required and
- what is populated during bootstrapping. When forgetting, typical failures (as seen in ASF CI) will give following traces in log:
+So some care needs to be taken when introducing new dependencies into the ITs themselves or [the support plugins](../core-it-support/). Many times the failures that we encounter are discrepancies between actual artifact consumption required and what is populated during bootstrapping. When forgetting, typical failures (as seen in ASF CI) will give following traces in log:
 
--------
+```
 [ERROR] testit(org.apache.maven.it.MavenITmng...)  Time elapsed: 0.145 s  <<< ERROR!
 ...
 [ERROR] Failed to execute goal ... (...) on project ...: ... Could not find artifact ... in central (file:target/null) -> [Help 1]
--------
+```
 
-** Using Local Repository Manager
+#[[### Using Local Repository Manager]]#
 
- If you are using a local repository manager, configured in your <<<~/.m2/settings.xml>>> as a mirror of <<<central>>>, it will invalidate previous setup:
- working Core ITs Suite can work on your laptop but fail on ASF CI because of missing artifact.
+If you are using a local repository manager, configured in your `~/.m2/settings.xml` as a mirror of `central`, it will invalidate previous setup: working Core ITs Suite can work on your laptop but fail on ASF CI because of missing artifact.
 
- Comment out your mirror configuration to enable the expected local failure, then be able to debug and fix the issue.
+Comment out your mirror configuration to enable the expected local failure, then be able to debug and fix the issue.
diff --git a/its/core-it-support/core-it-plugins/maven-it-plugin-core-stubs/src/site/markdown/index.md.vm b/its/core-it-support/core-it-plugins/maven-it-plugin-core-stubs/src/site/markdown/index.md.vm
index 3800a59739..0c539e5d5f 100644
--- a/its/core-it-support/core-it-plugins/maven-it-plugin-core-stubs/src/site/markdown/index.md.vm
+++ b/its/core-it-support/core-it-plugins/maven-it-plugin-core-stubs/src/site/markdown/index.md.vm
@@ -1,13 +1,12 @@
- -----
- About
- -----
- Hervé Boutemy
- -----
- 2012-10-13
- -----
+---
+title: About
+author:
+  - Hervé Boutemy
+date: 2012-10-13
+---
 
-${project.name}
+# ${project.name}
 
- About ${project.description}
+About ${project.description}
 
- See {{{./modules.html}Project Modules}} report for a complete list with description.
+See [Project Modules](./modules.html) report for a complete list with description.
diff --git a/its/core-it-support/core-it-plugins/src/site/markdown/index.md.vm b/its/core-it-support/core-it-plugins/src/site/markdown/index.md.vm
index 3800a59739..0c539e5d5f 100644
--- a/its/core-it-support/core-it-plugins/src/site/markdown/index.md.vm
+++ b/its/core-it-support/core-it-plugins/src/site/markdown/index.md.vm
@@ -1,13 +1,12 @@
- -----
- About
- -----
- Hervé Boutemy
- -----
- 2012-10-13
- -----
+---
+title: About
+author:
+  - Hervé Boutemy
+date: 2012-10-13
+---
 
-${project.name}
+# ${project.name}
 
- About ${project.description}
+About ${project.description}
 
- See {{{./modules.html}Project Modules}} report for a complete list with description.
+See [Project Modules](./modules.html) report for a complete list with description.
diff --git a/its/src/site/markdown/index.md b/its/src/site/markdown/index.md
index 239eab0f26..4602c96e67 100644
--- a/its/src/site/markdown/index.md
+++ b/its/src/site/markdown/index.md
@@ -1,74 +1,62 @@
- -----
- Introduction
- -----
- Hervé Boutemy
- -----
- 2011-09-04
- -----
+---
+title: Introduction
+author:
+  - Hervé Boutemy
+date: 2011-09-04
+---
 
- ~~ Licensed to the Apache Software Foundation (ASF) under one
- ~~ or more contributor license agreements.  See the NOTICE file
- ~~ distributed with this work for additional information
- ~~ regarding copyright ownership.  The ASF licenses this file
- ~~ to you under the Apache License, Version 2.0 (the
- ~~ "License"); you may not use this file except in compliance
- ~~ with the License.  You may obtain a copy of the License at
- ~~
- ~~   http://www.apache.org/licenses/LICENSE-2.0
- ~~
- ~~ Unless required by applicable law or agreed to in writing,
- ~~ software distributed under the License is distributed on an
- ~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- ~~ KIND, either express or implied.  See the License for the
- ~~ specific language governing permissions and limitations
- ~~ under the License.
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
 
- ~~ NOTE: For help with the syntax of this file, see:
- ~~ http://maven.apache.org/doxia/references/apt-format.html
+http://www.apache.org/licenses/LICENSE-2.0
 
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
 
-Maven Core ITs
+# Maven Core ITs
 
- Maven Core Integration Tests provide tooling to test every aspect of Maven functionalities with any Maven version.
+Maven Core Integration Tests provide tooling to test every aspect of Maven functionalities with any Maven version.
 
- This project is split in 2 modules:
+This project is split in 2 modules:
 
- * {{{./core-it-support/}Maven Core IT Support}}: Maven Integration Tests support tools, to completely decouple ITs from production plugins,
+- [Maven Core IT Support](./core-it-support/): Maven Integration Tests support tools, to completely decouple ITs from production plugins,
+- [Maven Core ITs suite](./core-it-suite/): The effective Maven Integration Tests suite, providing the interesting [tests results](./core-it-suite/surefire-report.html).
 
- * {{{./core-it-suite/}Maven Core ITs suite}}: The effective Maven Integration Tests suite, providing the interesting {{{./core-it-suite/surefire-report.html}tests results}}.
+## Running the Core ITs
 
+By default, the project just packages the tests in an artifact. To actually run them, activate the `run-its` profile:
 
-* Running the Core ITs
-
-  By default, the project just packages the tests in an artifact. To actually run them, activate the <<<run-its>>> profile:
-  
-+----
+```shell
 mvn clean test -Prun-its
-+----
-  
-  This will subject the Maven version running the build to the integration tests.
-  
-  If you would like to test a different Maven distribution, you can use the <<<mavenHome>>> system property to specify the
-  path of the Maven distribution to test:
-  
-+----
+```
+
+This will subject the Maven version running the build to the integration tests.
+
+If you would like to test a different Maven distribution, you can use the `mavenHome` system property to specify the path of the Maven distribution to test:
+
+```shell
 mvn clean test -Prun-its -DmavenHome=<maven-under-test>
-+----
-  
-  Alternatively, you can just specify the version of a previously installed/deployed Maven distribution which will be
-  downloaded, unpacked and tested:
-  
-+----
+```
+
+Alternatively, you can just specify the version of a previously installed/deployed Maven distribution which will be downloaded, unpacked and tested:
+
+```shell
 mvn clean test -Prun-its -DmavenVersion=2.2.1
-+----
-  
-  To run the ITs using embedded Maven 3.x, additionally activate the <<<embedded>>> profile.
-  
-  ITs that don't require to fork Maven can also be run from the IDE using the Maven projects from the workspace if the
-  Maven dependencies are added to the test class path.
-  
-  If you're behind a proxy, use the system properties <<<proxy.host>>>, <<<proxy.port>>>, <<<proxy.user>>>, <<<proxy.pass>>>
-  and <<<proxy.nonProxyHosts>>> to specify the required proxy setup for the ITs. Alternatively, set the system property
-  <<<maven.it.central>>> to a URL of a local repository manager (anonymous authentication only) that proxies the required
-  artifacts.
- 
\ No newline at end of file
+```
+
+To run the ITs using embedded Maven 3.x, additionally activate the `embedded` profile.
+
+ITs that don't require to fork Maven can also be run from the IDE using the Maven projects from the workspace if the Maven dependencies are added to the test class path.
+
+If you're behind a proxy, use the system properties `proxy.host`, `proxy.port`, `proxy.user`, `proxy.pass` and `proxy.nonProxyHosts` to specify the required proxy setup for the ITs. Alternatively, set the system property `maven.it.central` to a URL of a local repository manager (anonymous authentication only) that proxies the required artifacts.


(maven) 01/02: Rename the site documents ahead of converting them

Posted by sl...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

slachiewicz pushed a commit to branch maven-4.0.x
in repository https://gitbox.apache.org/repos/asf/maven.git

commit 27ab7362f34f8e70201969a55f50dd547b849dbc
Author: Sylwester Lachiewicz <sl...@apache.org>
AuthorDate: Sat Aug 8 17:26:14 2026 +0200

    Rename the site documents ahead of converting them
---
 apache-maven/src/site/{apt/index.apt.vm => markdown/index.md.vm}          | 0
 api/maven-api-cli/src/site/{apt/index.apt => markdown/index.md}           | 0
 api/maven-api-metadata/src/site/{apt/index.apt => markdown/index.md}      | 0
 api/maven-api-model/src/site/{apt/index.apt => markdown/index.md}         | 0
 api/maven-api-plugin/src/site/{apt/index.apt => markdown/index.md}        | 0
 api/maven-api-settings/src/site/{apt/index.apt => markdown/index.md}      | 0
 api/maven-api-toolchain/src/site/{apt/index.apt => markdown/index.md}     | 0
 compat/maven-artifact/src/site/{apt/index.apt => markdown/index.md}       | 0
 compat/maven-compat/src/site/{apt/index.apt => markdown/index.md}         | 0
 compat/maven-embedder/src/site/{apt/cli.apt.vm => markdown/cli.md.vm}     | 0
 compat/maven-embedder/src/site/{apt/index.apt.vm => markdown/index.md.vm} | 0
 compat/maven-embedder/src/site/{apt/logging.apt => markdown/logging.md}   | 0
 compat/maven-model-builder/src/site/{apt/index.apt => markdown/index.md}  | 0
 .../src/site/{apt/super-pom.apt.vm => markdown/super-pom.md.vm}           | 0
 compat/maven-model/src/site/{apt/index.apt => markdown/index.md}          | 0
 compat/maven-plugin-api/src/site/{apt/index.apt => markdown/index.md}     | 0
 .../src/site/{apt/index.apt => markdown/index.md}                         | 0
 .../src/site/{apt/dependency-types.apt => markdown/dependency-types.md}   | 0
 .../maven-resolver-provider/src/site/{apt/index.apt => markdown/index.md} | 0
 compat/maven-settings/src/site/{apt/index.apt => markdown/index.md}       | 0
 .../maven-toolchain-model/src/site/{apt/index.apt => markdown/index.md}   | 0
 .../src/site/{apt/artifact-handlers.apt => markdown/artifact-handlers.md} | 0
 .../configuration-management.apt => markdown/configuration-management.md} | 0
 .../site/{apt/core-extensions.apt.vm => markdown/core-extensions.md.vm}   | 0
 .../site/{apt/default-bindings.apt.vm => markdown/default-bindings.md.vm} | 0
 .../getting-to-container-configured-mojos.md}                             | 0
 impl/maven-core/src/site/{apt/index.apt => markdown/index.md}             | 0
 impl/maven-core/src/site/{apt/inheritance.apt => markdown/inheritance.md} | 0
 .../src/site/{apt/lifecycles.apt.vm => markdown/lifecycles.md.vm}         | 0
 .../src/site/{apt/offline-mode.apt => markdown/offline-mode.md}           | 0
 .../plugin-execution-isolation.md}                                        | 0
 .../src/site/{apt/dependency-types.apt => markdown/dependency-types.md}   | 0
 impl/maven-logging/src/site/{apt/index.apt => markdown/index.md}          | 0
 .../src/site/{apt/bootstrap.apt.vm => markdown/bootstrap.md.vm}           | 0
 its/core-it-suite/src/site/{apt/index.apt.vm => markdown/index.md.vm}     | 0
 .../src/site/{apt/index.apt.vm => markdown/index.md.vm}                   | 0
 .../core-it-plugins/src/site/{apt/index.apt.vm => markdown/index.md.vm}   | 0
 its/src/site/{apt/index.apt => markdown/index.md}                         | 0
 38 files changed, 0 insertions(+), 0 deletions(-)

diff --git a/apache-maven/src/site/apt/index.apt.vm b/apache-maven/src/site/markdown/index.md.vm
similarity index 100%
rename from apache-maven/src/site/apt/index.apt.vm
rename to apache-maven/src/site/markdown/index.md.vm
diff --git a/api/maven-api-cli/src/site/apt/index.apt b/api/maven-api-cli/src/site/markdown/index.md
similarity index 100%
rename from api/maven-api-cli/src/site/apt/index.apt
rename to api/maven-api-cli/src/site/markdown/index.md
diff --git a/api/maven-api-metadata/src/site/apt/index.apt b/api/maven-api-metadata/src/site/markdown/index.md
similarity index 100%
rename from api/maven-api-metadata/src/site/apt/index.apt
rename to api/maven-api-metadata/src/site/markdown/index.md
diff --git a/api/maven-api-model/src/site/apt/index.apt b/api/maven-api-model/src/site/markdown/index.md
similarity index 100%
rename from api/maven-api-model/src/site/apt/index.apt
rename to api/maven-api-model/src/site/markdown/index.md
diff --git a/api/maven-api-plugin/src/site/apt/index.apt b/api/maven-api-plugin/src/site/markdown/index.md
similarity index 100%
rename from api/maven-api-plugin/src/site/apt/index.apt
rename to api/maven-api-plugin/src/site/markdown/index.md
diff --git a/api/maven-api-settings/src/site/apt/index.apt b/api/maven-api-settings/src/site/markdown/index.md
similarity index 100%
rename from api/maven-api-settings/src/site/apt/index.apt
rename to api/maven-api-settings/src/site/markdown/index.md
diff --git a/api/maven-api-toolchain/src/site/apt/index.apt b/api/maven-api-toolchain/src/site/markdown/index.md
similarity index 100%
rename from api/maven-api-toolchain/src/site/apt/index.apt
rename to api/maven-api-toolchain/src/site/markdown/index.md
diff --git a/compat/maven-artifact/src/site/apt/index.apt b/compat/maven-artifact/src/site/markdown/index.md
similarity index 100%
rename from compat/maven-artifact/src/site/apt/index.apt
rename to compat/maven-artifact/src/site/markdown/index.md
diff --git a/compat/maven-compat/src/site/apt/index.apt b/compat/maven-compat/src/site/markdown/index.md
similarity index 100%
rename from compat/maven-compat/src/site/apt/index.apt
rename to compat/maven-compat/src/site/markdown/index.md
diff --git a/compat/maven-embedder/src/site/apt/cli.apt.vm b/compat/maven-embedder/src/site/markdown/cli.md.vm
similarity index 100%
rename from compat/maven-embedder/src/site/apt/cli.apt.vm
rename to compat/maven-embedder/src/site/markdown/cli.md.vm
diff --git a/compat/maven-embedder/src/site/apt/index.apt.vm b/compat/maven-embedder/src/site/markdown/index.md.vm
similarity index 100%
rename from compat/maven-embedder/src/site/apt/index.apt.vm
rename to compat/maven-embedder/src/site/markdown/index.md.vm
diff --git a/compat/maven-embedder/src/site/apt/logging.apt b/compat/maven-embedder/src/site/markdown/logging.md
similarity index 100%
rename from compat/maven-embedder/src/site/apt/logging.apt
rename to compat/maven-embedder/src/site/markdown/logging.md
diff --git a/compat/maven-model-builder/src/site/apt/index.apt b/compat/maven-model-builder/src/site/markdown/index.md
similarity index 100%
rename from compat/maven-model-builder/src/site/apt/index.apt
rename to compat/maven-model-builder/src/site/markdown/index.md
diff --git a/compat/maven-model-builder/src/site/apt/super-pom.apt.vm b/compat/maven-model-builder/src/site/markdown/super-pom.md.vm
similarity index 100%
rename from compat/maven-model-builder/src/site/apt/super-pom.apt.vm
rename to compat/maven-model-builder/src/site/markdown/super-pom.md.vm
diff --git a/compat/maven-model/src/site/apt/index.apt b/compat/maven-model/src/site/markdown/index.md
similarity index 100%
rename from compat/maven-model/src/site/apt/index.apt
rename to compat/maven-model/src/site/markdown/index.md
diff --git a/compat/maven-plugin-api/src/site/apt/index.apt b/compat/maven-plugin-api/src/site/markdown/index.md
similarity index 100%
rename from compat/maven-plugin-api/src/site/apt/index.apt
rename to compat/maven-plugin-api/src/site/markdown/index.md
diff --git a/compat/maven-repository-metadata/src/site/apt/index.apt b/compat/maven-repository-metadata/src/site/markdown/index.md
similarity index 100%
rename from compat/maven-repository-metadata/src/site/apt/index.apt
rename to compat/maven-repository-metadata/src/site/markdown/index.md
diff --git a/compat/maven-resolver-provider/src/site/apt/dependency-types.apt b/compat/maven-resolver-provider/src/site/markdown/dependency-types.md
similarity index 100%
rename from compat/maven-resolver-provider/src/site/apt/dependency-types.apt
rename to compat/maven-resolver-provider/src/site/markdown/dependency-types.md
diff --git a/compat/maven-resolver-provider/src/site/apt/index.apt b/compat/maven-resolver-provider/src/site/markdown/index.md
similarity index 100%
rename from compat/maven-resolver-provider/src/site/apt/index.apt
rename to compat/maven-resolver-provider/src/site/markdown/index.md
diff --git a/compat/maven-settings/src/site/apt/index.apt b/compat/maven-settings/src/site/markdown/index.md
similarity index 100%
rename from compat/maven-settings/src/site/apt/index.apt
rename to compat/maven-settings/src/site/markdown/index.md
diff --git a/compat/maven-toolchain-model/src/site/apt/index.apt b/compat/maven-toolchain-model/src/site/markdown/index.md
similarity index 100%
rename from compat/maven-toolchain-model/src/site/apt/index.apt
rename to compat/maven-toolchain-model/src/site/markdown/index.md
diff --git a/impl/maven-core/src/site/apt/artifact-handlers.apt b/impl/maven-core/src/site/markdown/artifact-handlers.md
similarity index 100%
rename from impl/maven-core/src/site/apt/artifact-handlers.apt
rename to impl/maven-core/src/site/markdown/artifact-handlers.md
diff --git a/impl/maven-core/src/site/apt/configuration-management.apt b/impl/maven-core/src/site/markdown/configuration-management.md
similarity index 100%
rename from impl/maven-core/src/site/apt/configuration-management.apt
rename to impl/maven-core/src/site/markdown/configuration-management.md
diff --git a/impl/maven-core/src/site/apt/core-extensions.apt.vm b/impl/maven-core/src/site/markdown/core-extensions.md.vm
similarity index 100%
rename from impl/maven-core/src/site/apt/core-extensions.apt.vm
rename to impl/maven-core/src/site/markdown/core-extensions.md.vm
diff --git a/impl/maven-core/src/site/apt/default-bindings.apt.vm b/impl/maven-core/src/site/markdown/default-bindings.md.vm
similarity index 100%
rename from impl/maven-core/src/site/apt/default-bindings.apt.vm
rename to impl/maven-core/src/site/markdown/default-bindings.md.vm
diff --git a/impl/maven-core/src/site/apt/getting-to-container-configured-mojos.apt b/impl/maven-core/src/site/markdown/getting-to-container-configured-mojos.md
similarity index 100%
rename from impl/maven-core/src/site/apt/getting-to-container-configured-mojos.apt
rename to impl/maven-core/src/site/markdown/getting-to-container-configured-mojos.md
diff --git a/impl/maven-core/src/site/apt/index.apt b/impl/maven-core/src/site/markdown/index.md
similarity index 100%
rename from impl/maven-core/src/site/apt/index.apt
rename to impl/maven-core/src/site/markdown/index.md
diff --git a/impl/maven-core/src/site/apt/inheritance.apt b/impl/maven-core/src/site/markdown/inheritance.md
similarity index 100%
rename from impl/maven-core/src/site/apt/inheritance.apt
rename to impl/maven-core/src/site/markdown/inheritance.md
diff --git a/impl/maven-core/src/site/apt/lifecycles.apt.vm b/impl/maven-core/src/site/markdown/lifecycles.md.vm
similarity index 100%
rename from impl/maven-core/src/site/apt/lifecycles.apt.vm
rename to impl/maven-core/src/site/markdown/lifecycles.md.vm
diff --git a/impl/maven-core/src/site/apt/offline-mode.apt b/impl/maven-core/src/site/markdown/offline-mode.md
similarity index 100%
rename from impl/maven-core/src/site/apt/offline-mode.apt
rename to impl/maven-core/src/site/markdown/offline-mode.md
diff --git a/impl/maven-core/src/site/apt/plugin-execution-isolation.apt b/impl/maven-core/src/site/markdown/plugin-execution-isolation.md
similarity index 100%
rename from impl/maven-core/src/site/apt/plugin-execution-isolation.apt
rename to impl/maven-core/src/site/markdown/plugin-execution-isolation.md
diff --git a/impl/maven-impl/src/site/apt/dependency-types.apt b/impl/maven-impl/src/site/markdown/dependency-types.md
similarity index 100%
rename from impl/maven-impl/src/site/apt/dependency-types.apt
rename to impl/maven-impl/src/site/markdown/dependency-types.md
diff --git a/impl/maven-logging/src/site/apt/index.apt b/impl/maven-logging/src/site/markdown/index.md
similarity index 100%
rename from impl/maven-logging/src/site/apt/index.apt
rename to impl/maven-logging/src/site/markdown/index.md
diff --git a/its/core-it-suite/src/site/apt/bootstrap.apt.vm b/its/core-it-suite/src/site/markdown/bootstrap.md.vm
similarity index 100%
rename from its/core-it-suite/src/site/apt/bootstrap.apt.vm
rename to its/core-it-suite/src/site/markdown/bootstrap.md.vm
diff --git a/its/core-it-suite/src/site/apt/index.apt.vm b/its/core-it-suite/src/site/markdown/index.md.vm
similarity index 100%
rename from its/core-it-suite/src/site/apt/index.apt.vm
rename to its/core-it-suite/src/site/markdown/index.md.vm
diff --git a/its/core-it-support/core-it-plugins/maven-it-plugin-core-stubs/src/site/apt/index.apt.vm b/its/core-it-support/core-it-plugins/maven-it-plugin-core-stubs/src/site/markdown/index.md.vm
similarity index 100%
rename from its/core-it-support/core-it-plugins/maven-it-plugin-core-stubs/src/site/apt/index.apt.vm
rename to its/core-it-support/core-it-plugins/maven-it-plugin-core-stubs/src/site/markdown/index.md.vm
diff --git a/its/core-it-support/core-it-plugins/src/site/apt/index.apt.vm b/its/core-it-support/core-it-plugins/src/site/markdown/index.md.vm
similarity index 100%
rename from its/core-it-support/core-it-plugins/src/site/apt/index.apt.vm
rename to its/core-it-support/core-it-plugins/src/site/markdown/index.md.vm
diff --git a/its/src/site/apt/index.apt b/its/src/site/markdown/index.md
similarity index 100%
rename from its/src/site/apt/index.apt
rename to its/src/site/markdown/index.md