cleanup
diff --git a/pom.xml b/pom.xml
index 66f40a1..e281ac2 100644
--- a/pom.xml
+++ b/pom.xml
@@ -198,7 +198,7 @@
     <javaVersion>8</javaVersion>
     <!-- for dependencies -->
     <jettyVersion>9.4.53.v20231009</jettyVersion>
-    <doxiaVersion>2.0.0-M8</doxiaVersion>
+    <doxiaVersion>2.0.0-M9-SNAPSHOT</doxiaVersion>
     <doxiaSitetoolsVersion>2.0.0-M17-SNAPSHOT</doxiaSitetoolsVersion>
     <wagonVersion>3.5.3</wagonVersion>
     <slf4jVersion>1.7.36</slf4jVersion>
diff --git a/src/main/java/org/apache/maven/plugins/site/render/AbstractSiteRenderingMojo.java b/src/main/java/org/apache/maven/plugins/site/render/AbstractSiteRenderingMojo.java
index 151ee18..66e8922 100644
--- a/src/main/java/org/apache/maven/plugins/site/render/AbstractSiteRenderingMojo.java
+++ b/src/main/java/org/apache/maven/plugins/site/render/AbstractSiteRenderingMojo.java
@@ -95,17 +95,18 @@
     private Map<String, Object> attributes;
 
     /**
-     * Parser configurations (per Doxia markup source file paths).
-     * Each entry has the following format
+     * Parser configurations (per matching Doxia markup source file path patterns).
+     * Each configuration item has the following format:
      * <p/>
      * <pre>
      *   &lt;patterns&gt;
-     *     &lt;pattern&gt;glob:**&#47;*.md&lt;/pattern&gt;&lt;!-- is either glob or regex syntax --&gt;
+     *     &lt;pattern&gt;glob:**&#47;*.md&lt;/pattern&gt;&lt;!-- is either glob or regex syntax with the according prefix --&gt;
      *   &lt;/patterns&gt;
      *   &lt;emitComments&gt;true&lt;/emitComments&gt;&lt;!-- false by default --&gt;
      *   &lt;emitAnchorsForIndexableEntries&gt;false&lt;/emitAnchorsForIndexableEntries&gt;&lt;!-- true by default --&gt;
      * </pre>
-     *
+     * The configuration is only applied if one of the given patterns matches the Doxia markup source file path.
+     * The first matching configuration wins (i.e. is applied).
      * @since 4.0.0
      * @see java.nio.file.FileSystem#getPathMatcher(String) FileSystem.getPathMatcher(String) for the supported patterns
      */
diff --git a/src/main/java/org/apache/maven/plugins/site/render/ParserConfiguration.java b/src/main/java/org/apache/maven/plugins/site/render/ParserConfiguration.java
index 4f8a84d..c48abda 100644
--- a/src/main/java/org/apache/maven/plugins/site/render/ParserConfiguration.java
+++ b/src/main/java/org/apache/maven/plugins/site/render/ParserConfiguration.java
@@ -28,7 +28,9 @@
 
 import org.apache.maven.doxia.parser.Parser;
 
-/** Configuration for a Doxia {@link Parser} (bound to a specific markup source path pattern) **/
+/** Configuration for a Doxia {@link Parser} (bound to a specific markup source path pattern)
+ * @since 4.0.0
+ **/
 public class ParserConfiguration implements org.apache.maven.doxia.siterenderer.ParserConfiguration {
 
     /**
@@ -56,7 +58,7 @@
 
     /**
      * Switches the feature {@link Parser#setEmitComments(boolean)} either on or off.
-     * Default is off.
+     * Default (for Doxia Sitetools) is off.
      *
      * @param emitComments {@code true} to switch it on, otherwise leave it off
      * @see Parser#setEmitComments(boolean)
@@ -67,7 +69,7 @@
 
     /**
      * Switches the feature {@link Parser#setEmitAnchorsForIndexableEntries(boolean)} either on or off.
-     * Default is on.
+     * Default (for Doxia Sitetools) is on.
      *
      * @param emitAnchorsForIndexableEntries {@code true} to switch it on, otherwise leave it off
      * @see Parser#setEmitAnchorsForIndexableEntries(boolean)
@@ -110,8 +112,8 @@
     }
 
     @Override
-    public void accept(Parser parser) {
+    public void configure(Parser parser) {
         parser.setEmitComments(emitComments);
-        // parser.setEmitAnchorsForIndexableEntries(emitAnchorsForIndexableEntries);
+        parser.setEmitAnchorsForIndexableEntries(emitAnchorsForIndexableEntries);
     }
 }
diff --git a/src/main/java/org/apache/maven/plugins/site/render/ParserConfigurationRetrieverImpl.java b/src/main/java/org/apache/maven/plugins/site/render/ParserConfigurationRetrieverImpl.java
index a6ce768..9376595 100644
--- a/src/main/java/org/apache/maven/plugins/site/render/ParserConfigurationRetrieverImpl.java
+++ b/src/main/java/org/apache/maven/plugins/site/render/ParserConfigurationRetrieverImpl.java
@@ -33,7 +33,10 @@
     }
 
     @Override
-    public Optional<ParserConfiguration> apply(Path filePath) {
-        return parserConfigurations.stream().filter(c -> c.matches(filePath)).findFirst();
+    public Optional<org.apache.maven.doxia.siterenderer.ParserConfiguration> retrieve(Path filePath) {
+        return parserConfigurations.stream()
+                .filter(c -> c.matches(filePath))
+                .findFirst()
+                .map(c -> c);
     }
 }
diff --git a/src/main/java/org/apache/maven/plugins/site/render/ReportDocumentRenderer.java b/src/main/java/org/apache/maven/plugins/site/render/ReportDocumentRenderer.java
index e30862e..c359269 100644
--- a/src/main/java/org/apache/maven/plugins/site/render/ReportDocumentRenderer.java
+++ b/src/main/java/org/apache/maven/plugins/site/render/ReportDocumentRenderer.java
@@ -131,7 +131,6 @@
                     docRenderingContext.getBasedirRelativePath(),
                     document,
                     docRenderingContext.getParserId(),
-                    docRenderingContext.getParserConfiguration(), // TODO: use another config?
                     docRenderingContext.getExtension(),
                     docRenderingContext.isEditable(),
                     docRenderingContext.getGenerator());
diff --git a/src/test/java/org/apache/maven/plugins/site/render/ParserConfigurationRetrieverImplTest.java b/src/test/java/org/apache/maven/plugins/site/render/ParserConfigurationRetrieverImplTest.java
index 2cc80db..df80ea1 100644
--- a/src/test/java/org/apache/maven/plugins/site/render/ParserConfigurationRetrieverImplTest.java
+++ b/src/test/java/org/apache/maven/plugins/site/render/ParserConfigurationRetrieverImplTest.java
@@ -35,7 +35,8 @@
         ParserConfiguration config2 = new ParserConfiguration();
         assertEquals(
                 Optional.empty(),
-                new ParserConfigurationRetrieverImpl(Arrays.asList(config1, config2)).apply(Paths.get("some", "file")));
+                new ParserConfigurationRetrieverImpl(Arrays.asList(config1, config2))
+                        .retrieve(Paths.get("some", "file")));
     }
 
     @Test
@@ -45,7 +46,7 @@
         ParserConfigurationRetrieverImpl parserConfigurationRetrieverImpl =
                 new ParserConfigurationRetrieverImpl(Arrays.asList(config1));
         assertThrows(RuntimeException.class, () -> {
-            parserConfigurationRetrieverImpl.apply(Paths.get("some", "file"));
+            parserConfigurationRetrieverImpl.retrieve(Paths.get("some", "file"));
         });
     }
 
@@ -57,7 +58,8 @@
         config2.addPattern("regex:.*\\.apt");
         assertEquals(
                 Optional.empty(),
-                new ParserConfigurationRetrieverImpl(Arrays.asList(config1, config2)).apply(Paths.get("some", "file")));
+                new ParserConfigurationRetrieverImpl(Arrays.asList(config1, config2))
+                        .retrieve(Paths.get("some", "file")));
     }
 
     @Test
@@ -68,7 +70,8 @@
         config2.addPattern("glob:**/*");
         assertEquals(
                 Optional.of(config2),
-                new ParserConfigurationRetrieverImpl(Arrays.asList(config1, config2)).apply(Paths.get("some", "file")));
+                new ParserConfigurationRetrieverImpl(Arrays.asList(config1, config2))
+                        .retrieve(Paths.get("some", "file")));
     }
 
     @Test
@@ -79,6 +82,7 @@
         config2.addPattern("regex:.*");
         assertEquals(
                 Optional.of(config1),
-                new ParserConfigurationRetrieverImpl(Arrays.asList(config1, config2)).apply(Paths.get("some", "file")));
+                new ParserConfigurationRetrieverImpl(Arrays.asList(config1, config2))
+                        .retrieve(Paths.get("some", "file")));
     }
 }