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