[ 
https://issues.apache.org/jira/browse/DOXIASITETOOLS-324?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17803876#comment-17803876
 ] 

ASF GitHub Bot commented on DOXIASITETOOLS-324:
-----------------------------------------------

michael-o commented on code in PR #126:
URL: 
https://github.com/apache/maven-doxia-sitetools/pull/126#discussion_r1443866765


##########
doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/ParserConfiguration.java:
##########
@@ -0,0 +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.
+ */
+package org.apache.maven.doxia.siterenderer;
+
+import java.util.function.Consumer;
+
+import org.apache.maven.doxia.parser.Parser;
+
+/**
+ * Configures a Doxia {@link Parser}.
+ * @since 2.0.0
+ */
+@FunctionalInterface
+public interface ParserConfiguration extends Consumer<Parser> {
+
+    /**
+     * Applies the configuration to the given parser.
+     * @param parser the parser to configure
+     */
+    @Override
+    void accept(Parser parser);

Review Comment:
   Wouldn't `configure()` be more reasonable here?



##########
doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DocumentRenderingContext.java:
##########
@@ -286,4 +319,13 @@ public String getDoxiaSourcePath() {
     public String getDoxiaSourcePath(String base) {
         return PathTool.calculateLink(getDoxiaSourcePath(), base);
     }
+
+    /**
+     * Get the configuration to use for the parsing the document or {@code 
null} if the default configuration should be used (or if this context
+     * is not for a Doxia markup source, i.e. not parsing is involved).

Review Comment:
   no parsing



##########
doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DocumentRenderingContext.java:
##########
@@ -101,8 +103,39 @@ public DocumentRenderingContext(
             String extension,
             boolean editable,
             String generator) {
+        this(basedir, basedirRelativePath, document, parserId, null, 
extension, editable, generator);
+    }
+
+    /**
+     * <p>
+     * Constructor for document rendering context.
+     * </p>
+     *
+     * @param basedir the source base directory (not null, pseudo value when 
not a Doxia source).
+     * @param basedirRelativePath the relative path from root (null if not 
Doxia source)
+     * @param document the source document path.
+     * @param parserId the Doxia module parser id associated to this document, 
may be null if document not rendered from
+     *            a Doxia markup source.
+     * @param parserConfiguration the configuration to use for the Doxia 
parser, may be {@null} if default should be used or if
+     *        document is not rendered from a Doxia markup source
+     * @param extension the source document filename extension, may be null if 
document not rendered from
+     *            a Doxia source.
+     * @param editable is the document editable as source, i.e. not generated?
+     * @param generator the generator (in general a reporting goal: 
<code>groupId:artifactId:version:goal</code>)
+     * @since 2.0

Review Comment:
   2.0.0



##########
doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/SiteRenderingContext.java:
##########
@@ -388,4 +391,20 @@ public File getRootDirectory() {
     public void setRootDirectory(File rootDirectory) {
         this.rootDirectory = rootDirectory;
     }
+
+    /**
+     *
+     * @return the retriever for parser configurations (only relevant for 
Doxia sources)
+     * @since 2.0.0
+     */
+    public ParserConfigurationRetriever getParserConfigurationRetriever() {
+        if (parserConfigurationRetriever == null) {

Review Comment:
   Am I stupid or why not just return the object?





> Allow configuration of parser (per markup source path pattern)
> --------------------------------------------------------------
>
>                 Key: DOXIASITETOOLS-324
>                 URL: https://issues.apache.org/jira/browse/DOXIASITETOOLS-324
>             Project: Maven Doxia Sitetools
>          Issue Type: New Feature
>          Components: Site renderer
>            Reporter: Konrad Windszus
>            Assignee: Konrad Windszus
>            Priority: Major
>             Fix For: 2.0.0-M17
>
>
> Currently the Doxia parsers being used for the Doxia markup sources have a 
> fix configuration 
> (https://github.com/apache/maven-doxia-sitetools/blob/dacaa552c1b8e89eed84db0f43b6b0a72be91d0c/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DefaultSiteRenderer.java#L324).
> It would be beneficial to allow to dynamically configure the parsers (based 
> on a matching markup source path pattern)



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to