You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by hb...@apache.org on 2017/12/10 09:25:37 UTC
[maven-doxia-sitetools] branch master updated: [DOXIASITETOOLS-181]
added docRenderingContext to template Velocity ctx
This is an automated email from the ASF dual-hosted git repository.
hboutemy pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/maven-doxia-sitetools.git
The following commit(s) were added to refs/heads/master by this push:
new 96b97ef [DOXIASITETOOLS-181] added docRenderingContext to template Velocity ctx
96b97ef is described below
commit 96b97ef2e2f440d1f579ca9f676e66c10f2d1a7b
Author: Hervé Boutemy <hb...@apache.org>
AuthorDate: Sun Dec 10 10:25:36 2017 +0100
[DOXIASITETOOLS-181] added docRenderingContext to template Velocity ctx
---
.../doxia/siterenderer/DefaultSiteRenderer.java | 21 ++++++-----
.../maven/doxia/siterenderer/DocumentRenderer.java | 4 +--
.../doxia/siterenderer/DoxiaDocumentRenderer.java | 4 +--
.../apache/maven/doxia/siterenderer/Renderer.java | 9 ++---
.../doxia/siterenderer/sink/SiteRendererSink.java | 4 +--
.../doxia/siterenderer/resources/default-site.vm | 2 +-
doxia-site-renderer/src/site/apt/index.apt.vm | 6 ++--
.../siterenderer/velocity-toolmanager.expected.txt | 41 +++++++++++-----------
8 files changed, 49 insertions(+), 42 deletions(-)
diff --git a/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DefaultSiteRenderer.java b/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DefaultSiteRenderer.java
index 89e681d..25f73d1 100644
--- a/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DefaultSiteRenderer.java
+++ b/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DefaultSiteRenderer.java
@@ -352,29 +352,29 @@ public class DefaultSiteRenderer
}
/** {@inheritDoc} */
- public void renderDocument( Writer writer, RenderingContext renderingContext, SiteRenderingContext siteContext )
+ public void renderDocument( Writer writer, RenderingContext docRenderingContext, SiteRenderingContext siteContext )
throws RendererException, FileNotFoundException, UnsupportedEncodingException
{
- SiteRendererSink sink = new SiteRendererSink( renderingContext );
+ SiteRendererSink sink = new SiteRendererSink( docRenderingContext );
- File doc = new File( renderingContext.getBasedir(), renderingContext.getInputName() );
+ File doc = new File( docRenderingContext.getBasedir(), docRenderingContext.getInputName() );
Reader reader = null;
try
{
String resource = doc.getAbsolutePath();
- Parser parser = doxia.getParser( renderingContext.getParserId() );
+ Parser parser = doxia.getParser( docRenderingContext.getParserId() );
// DOXIASITETOOLS-146 don't render comments from source markup
parser.setEmitComments( false );
// TODO: DOXIA-111: the filter used here must be checked generally.
- if ( renderingContext.getAttribute( "velocity" ) != null )
+ if ( docRenderingContext.getAttribute( "velocity" ) != null )
{
- getLogger().debug( "Processing Velocity for " + renderingContext.getInputName() );
+ getLogger().debug( "Processing Velocity for " + docRenderingContext.getInputName() );
try
{
- Context vc = createDocumentVelocityContext( renderingContext, siteContext );
+ Context vc = createDocumentVelocityContext( docRenderingContext, siteContext );
StringWriter sw = new StringWriter();
@@ -390,7 +390,7 @@ public class DefaultSiteRenderer
siteContext.getProcessedContentOutput().mkdirs();
}
- String input = renderingContext.getInputName();
+ String input = docRenderingContext.getInputName();
File outputFile = new File( siteContext.getProcessedContentOutput(),
input.substring( 0, input.length() - 3 ) );
@@ -446,7 +446,7 @@ public class DefaultSiteRenderer
{
throw new RendererException( "Error getting a parser for '" + doc + "'" );
}
- doxia.parse( reader, renderingContext.getParserId(), sink );
+ doxia.parse( reader, docRenderingContext.getParserId(), sink );
}
catch ( ParserNotFoundException e )
{
@@ -672,6 +672,9 @@ public class DefaultSiteRenderer
}
}
+ // document rendering context, to get eventual inputName
+ context.put( "docRenderingContext", siteRendererSink.getRenderingContext() );
+
return context;
}
diff --git a/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DocumentRenderer.java b/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DocumentRenderer.java
index aada985..93fb318 100644
--- a/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DocumentRenderer.java
+++ b/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DocumentRenderer.java
@@ -35,13 +35,13 @@ public interface DocumentRenderer
* Render a document.
*
* @param writer the Writer.
- * @param renderer the Renderer.
+ * @param siteRenderer the site Renderer.
* @param siteRenderingContext the SiteRenderingContext.
* @throws org.apache.maven.doxia.siterenderer.RendererException if it bombs.
* @throws java.io.FileNotFoundException if it bombs.
* @throws java.io.UnsupportedEncodingException if it bombs.
*/
- void renderDocument( Writer writer, Renderer renderer, SiteRenderingContext siteRenderingContext )
+ void renderDocument( Writer writer, Renderer siteRenderer, SiteRenderingContext siteRenderingContext )
throws RendererException, FileNotFoundException, UnsupportedEncodingException;
/**
diff --git a/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DoxiaDocumentRenderer.java b/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DoxiaDocumentRenderer.java
index 2a9275f..188c42e 100644
--- a/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DoxiaDocumentRenderer.java
+++ b/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DoxiaDocumentRenderer.java
@@ -47,10 +47,10 @@ public class DoxiaDocumentRenderer
}
/** {@inheritDoc} */
- public void renderDocument( Writer writer, Renderer renderer, SiteRenderingContext siteRenderingContext )
+ public void renderDocument( Writer writer, Renderer siteRenderer, SiteRenderingContext siteRenderingContext )
throws RendererException, FileNotFoundException, UnsupportedEncodingException
{
- renderer.renderDocument( writer, renderingContext, siteRenderingContext );
+ siteRenderer.renderDocument( writer, renderingContext, siteRenderingContext );
}
/** {@inheritDoc} */
diff --git a/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/Renderer.java b/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/Renderer.java
index c155221..9607209 100644
--- a/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/Renderer.java
+++ b/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/Renderer.java
@@ -61,10 +61,11 @@ public interface Renderer
throws RendererException, IOException;
/**
- * Generate a document output from a Doxia SiteRenderer Sink.
+ * Generate a document output from a Doxia SiteRenderer Sink, i.e. merge the document content into
+ * the site template.
*
* @param writer the Writer to use.
- * @param sink the Site Renderer Sink to receive the Doxia events.
+ * @param sink the Site Renderer Sink that received the Doxia events during document content rendering.
* @param siteRenderingContext the SiteRenderingContext to use.
* @throws RendererException if it bombs.
*/
@@ -146,12 +147,12 @@ public interface Renderer
* {@link DoxiaDocumentRenderer}.
*
* @param writer the writer to render the document to.
- * @param renderingContext the document's rendering context, which is expected to have a non-null parser id.
+ * @param docRenderingContext the document's rendering context, which is expected to have a non-null parser id.
* @param siteContext the site's rendering context
* @throws RendererException if it bombs.
* @throws FileNotFoundException if it bombs.
* @throws UnsupportedEncodingException if it bombs.
*/
- void renderDocument( Writer writer, RenderingContext renderingContext, SiteRenderingContext siteContext )
+ void renderDocument( Writer writer, RenderingContext docRenderingContext, SiteRenderingContext siteContext )
throws RendererException, FileNotFoundException, UnsupportedEncodingException;
}
diff --git a/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/sink/SiteRendererSink.java b/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/sink/SiteRendererSink.java
index 91abd88..d47d3d8 100644
--- a/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/sink/SiteRendererSink.java
+++ b/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/sink/SiteRendererSink.java
@@ -316,9 +316,9 @@ public class SiteRendererSink
}
/**
- * <p>Getter for the field <code>renderingContext</code>.</p>
+ * <p>Getter for the field <code>renderingContext</code> containing the document rendering context.</p>
*
- * @return the current rendering context
+ * @return the current document rendering context
* @since 1.1
*/
public RenderingContext getRenderingContext()
diff --git a/doxia-site-renderer/src/main/resources/org/apache/maven/doxia/siterenderer/resources/default-site.vm b/doxia-site-renderer/src/main/resources/org/apache/maven/doxia/siterenderer/resources/default-site.vm
index 54dd703..d701afd 100644
--- a/doxia-site-renderer/src/main/resources/org/apache/maven/doxia/siterenderer/resources/default-site.vm
+++ b/doxia-site-renderer/src/main/resources/org/apache/maven/doxia/siterenderer/resources/default-site.vm
@@ -17,7 +17,7 @@
## under the License.
##
#parse( "default-site-macros.vm" )
-<!-- Generated by Apache Maven Doxia Site Renderer#if( $doxiaSiteRendererVersion ) $doxiaSiteRendererVersion#end at $dateFormat.format( $currentDate ) -->
+<!-- Generated by Apache Maven Doxia Site Renderer#if( $doxiaSiteRendererVersion ) $doxiaSiteRendererVersion#end#if( $docRenderingContext.inputName ) from $docRenderingContext.basedir.name/$docRenderingContext.inputName#end at $dateFormat.format( $currentDate ) -->
<html xmlns="http://www.w3.org/1999/xhtml"#if ( $locale ) xml:lang="$locale.language" lang="$locale.language"#end>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=${outputEncoding}" />
diff --git a/doxia-site-renderer/src/site/apt/index.apt.vm b/doxia-site-renderer/src/site/apt/index.apt.vm
index fd1638f..728ce16 100644
--- a/doxia-site-renderer/src/site/apt/index.apt.vm
+++ b/doxia-site-renderer/src/site/apt/index.apt.vm
@@ -140,7 +140,7 @@ Doxia Sitetools - Site Renderer
If you intend to use custom Velocity tools, add them to the Maven Site Plugin's dependency list and make sure
that they have a bundled configuration file in <<</META-INF/maven/site-tools.xml>>>.
- See <<<{{{./xref/org/apache/maven/doxia/siterenderer/DefaultSiteRenderer.html\#L470}DefaultSiteRenderer.createToolManagedVelocityContext(...)}}>>>
+ See <<<{{{./xref/org/apache/maven/doxia/siterenderer/DefaultSiteRenderer.html\#L476}DefaultSiteRenderer.createToolManagedVelocityContext(...)}}>>>
source for more details and the {{{http://velocity.apache.org/tools/devel/summary.html}tools usage summary}}.
** Maven Site Plugin
@@ -186,6 +186,8 @@ Doxia Sitetools - Site Renderer
*---------------------------------+----------------------+-------------------------------+
| <<<title>>> | <<<String>>> | The title of the document, including the project or site name. |
*---------------------------------+----------------------+-------------------------------+
+| <<<docRenderingContext>>> | {{{./apidocs/org/apache/maven/doxia/siterenderer/RenderingContext.html}<<<RenderingContext>>>}} | (since 1.8) The document rendering context. |
+*---------------------------------+----------------------+-------------------------------+
- See <<<{{{./xref/org/apache/maven/doxia/siterenderer/DefaultSiteRenderer.html\#L592}DefaultSiteRenderer.createSiteTemplateVelocityContext(...)}}>>>
+ See <<<{{{./xref/org/apache/maven/doxia/siterenderer/DefaultSiteRenderer.html\#L604}DefaultSiteRenderer.createSiteTemplateVelocityContext(...)}}>>>
source for more details.
diff --git a/doxia-site-renderer/src/test/resources/org/apache/maven/doxia/siterenderer/velocity-toolmanager.expected.txt b/doxia-site-renderer/src/test/resources/org/apache/maven/doxia/siterenderer/velocity-toolmanager.expected.txt
index e747b65..eb6fed9 100644
--- a/doxia-site-renderer/src/test/resources/org/apache/maven/doxia/siterenderer/velocity-toolmanager.expected.txt
+++ b/doxia-site-renderer/src/test/resources/org/apache/maven/doxia/siterenderer/velocity-toolmanager.expected.txt
@@ -19,23 +19,24 @@ We have the following keys in the context:
15. dateRevision
16. decoration
17. display
- 18. doxiaSiteRendererVersion
- 19. esc
- 20. field
- 21. headContent
- 22. i18n
- 23. link
- 24. locale
- 25. loop
- 26. math
- 27. number
- 28. plexus
- 29. publishDate
- 30. relativePath
- 31. render
- 32. shortTitle
- 33. sorter
- 34. supportedLocales
- 35. text
- 36. title
- 37. xml
+ 18. docRenderingContext
+ 19. doxiaSiteRendererVersion
+ 20. esc
+ 21. field
+ 22. headContent
+ 23. i18n
+ 24. link
+ 25. locale
+ 26. loop
+ 27. math
+ 28. number
+ 29. plexus
+ 30. publishDate
+ 31. relativePath
+ 32. render
+ 33. shortTitle
+ 34. sorter
+ 35. supportedLocales
+ 36. text
+ 37. title
+ 38. xml
--
To stop receiving notification emails like this one, please contact
['"commits@maven.apache.org" <co...@maven.apache.org>'].