Interface Renderer

All Known Implementing Classes:
DefaultSiteRenderer

public interface Renderer

Site Renderer interface: render a collection of documents into a site, ie decored with a site template (eventually packaged as skin).

Author:
Emmanuel Venisse
  • Field Details

    • ROLE

      static final String ROLE
      Plexus lookup role.
  • Method Details

    • render

      void render(Collection<DocumentRenderer> documents, SiteRenderingContext siteRenderingContext, File outputDirectory) throws RendererException, IOException
      Render a collection of documents into a site.
      Parameters:
      documents - the documents to render.
      siteRenderingContext - the SiteRenderingContext to use.
      outputDirectory - the output directory to write results.
      Throws:
      RendererException - if it bombs.
      IOException - if it bombs.
    • generateDocument

      void generateDocument(Writer writer, SiteRendererSink sink, SiteRenderingContext siteRenderingContext) throws RendererException
      Deprecated.
      since 1.8, use mergeDocumentIntoSite
      Generate a document output from a Doxia SiteRenderer Sink, i.e. merge the document content into the site template.
      Parameters:
      writer - the Writer to use.
      sink - the Site Renderer Sink that received the Doxia events during document content rendering.
      siteRenderingContext - the SiteRenderingContext to use.
      Throws:
      RendererException - if it bombs.
    • mergeDocumentIntoSite

      void mergeDocumentIntoSite(Writer writer, DocumentContent content, SiteRenderingContext siteRenderingContext) throws RendererException
      Generate a document output integrated in a site from a document content, i.e. merge the document content into the site template.
      Parameters:
      writer - the Writer to use.
      content - the document content to be merged.
      siteRenderingContext - the SiteRenderingContext to use.
      Throws:
      RendererException - if it bombs.
      Since:
      1.8
    • createContextForSkin

      SiteRenderingContext createContextForSkin(org.apache.maven.artifact.Artifact skin, Map<String,?> attributes, org.apache.maven.doxia.site.decoration.DecorationModel decoration, String defaultWindowTitle, Locale locale) throws RendererException, IOException
      Create a Site Rendering Context for a site using a skin.
      Parameters:
      skin - a skin
      attributes - attributes to use
      decoration - a decoration model
      defaultWindowTitle - default window title
      locale - locale to use
      Returns:
      a SiteRenderingContext.
      Throws:
      RendererException - if it bombs.
      IOException - if it bombs.
      Since:
      1.7.3 was previously with skin as File instead of Artifact
    • createContextForTemplate

      @Deprecated SiteRenderingContext createContextForTemplate(File templateFile, Map<String,?> attributes, org.apache.maven.doxia.site.decoration.DecorationModel decoration, String defaultWindowTitle, Locale locale) throws MalformedURLException
      Deprecated.
      Deprecated without replacement, use skins only.
      Create a Site Rendering Context for a site using a local template.
      Parameters:
      templateFile - template file
      attributes - attributes to use
      decoration - a decoration model
      defaultWindowTitle - default window title
      locale - locale to use
      Returns:
      a SiteRenderingContext.
      Throws:
      MalformedURLException - if it bombs.
      Since:
      1.7, had an additional skinFile parameter before
      See Also:
    • copyResources

      void copyResources(SiteRenderingContext siteRenderingContext, File resourcesDirectory, File outputDirectory) throws IOException
      Deprecated.
      since 1.7, use copyResources without resourcesDirectory parameter
      Copy resource files.
      Parameters:
      siteRenderingContext - the SiteRenderingContext to use
      resourcesDirectory - resources directory as file
      outputDirectory - output directory as file
      Throws:
      IOException - if it bombs.
    • copyResources

      void copyResources(SiteRenderingContext siteRenderingContext, File outputDirectory) throws IOException
      Copy resource files from skin, template, and site resources.
      Parameters:
      siteRenderingContext - the SiteRenderingContext to use.
      outputDirectory - output directory as file
      Throws:
      IOException - if it bombs.
      Since:
      1.7
    • locateDocumentFiles

      Map<String,DocumentRenderer> locateDocumentFiles(SiteRenderingContext siteRenderingContext) throws IOException, RendererException
      Deprecated.
      since 1.8, use locateDocumentFiles with editable parameter
      Locate Doxia document source files in the site source context.
      Parameters:
      siteRenderingContext - the SiteRenderingContext to use
      Returns:
      the Doxia document renderers in a Map keyed by output file name.
      Throws:
      IOException - if it bombs.
      RendererException - if it bombs.
    • locateDocumentFiles

      Map<String,DocumentRenderer> locateDocumentFiles(SiteRenderingContext siteRenderingContext, boolean editable) throws IOException, RendererException
      Locate Doxia document source files in the site source context.
      Parameters:
      siteRenderingContext - the SiteRenderingContext to use
      editable - Doxia document renderer as editable? (should not set editable if generated Doxia source)
      Returns:
      the Doxia document renderers in a Map keyed by output file name.
      Throws:
      IOException - if it bombs.
      RendererException - if it bombs.
      Since:
      1.8
    • renderDocument

      void renderDocument(Writer writer, RenderingContext docRenderingContext, SiteRenderingContext siteContext) throws RendererException, FileNotFoundException, UnsupportedEncodingException
      Render a document written in a Doxia markup language. This method is an internal method, used by DoxiaDocumentRenderer.
      Parameters:
      writer - the writer to render the document to.
      docRenderingContext - the document's rendering context, which is expected to have a non-null parser id.
      siteContext - the site's rendering context
      Throws:
      RendererException - if it bombs.
      FileNotFoundException - if it bombs.
      UnsupportedEncodingException - if it bombs.