DocPublisher (Grails 3.2.3)
Date: 2016-11-10

Package: grails.doc

## [Groovy] Class DocPublisher

- grails.doc.DocPublisher

- Coordinated the DocEngine the produce documentation based on the gdoc format.

  Authors:
    Graeme Rocher
  See Also:
    DocEngine
  Since:
    1.2

- - ### Properties Summary

    Properties
    Type | Name and description
    --- | ---
    `static java.lang.String` | `TOC_FILENAME`
    `groovy.util.AntBuilder` | `ant` The AntBuilder instance to use
    `java.io.File` | `apiDir` Directory containing the project's API documentation.
    `boolean` | `asciidoc`
    `java.lang.String` | `authors` The authors of the documentation
    `java.lang.String` | `copyright` The copyright message
    `java.io.File` | `css` The directory containing any CSS to use (will override defaults) *
    `java.lang.String` | `encoding` The encoding to use (default is UTF-8)
    `java.util.Properties` | `engineProperties` Properties used to configure the DocEngine
    `java.io.File` | `fonts` The directory containing any fonts to use (will override defaults) *
    `java.lang.String` | `footer` The footer to include
    `java.io.File` | `images` The directory containing any images to use (will override defaults) *
    `java.io.File` | `js` The directory containing any Javascript to use (will override defaults) *
    `java.lang.String` | `language` The language we're generating for (gets its own sub-directory).
    `java.lang.String` | `license` The documentation license
    `java.lang.String` | `logo` HTML markup that renders the left logo
    `java.lang.Object` | `output`
    `java.io.File` | `propertiesFile` The properties fie to populate the engine properties from
    `java.lang.String` | `sourceRepo` The source repository
    `java.lang.String` | `sponsorLogo` HTML markup that renders the right logo
    `java.io.File` | `src` The source directory of the documentation
    `java.io.File` | `style` The directory cotnaining any templates to use (will override defaults) *
    `java.lang.String` | `subtitle` The subtitle of the documentation
    `java.io.File` | `target` The target directory to publish to
    `java.lang.String` | `title` The title of the documentation
    `java.lang.String` | `translators` The translators of the documentation (if any)
    `java.lang.String` | `version` The version of the documentation
    `java.io.File` | `workDir` The temporary work directory

  - ### Constructor Summary

    Constructors
    Constructor and description
    `DocPublisher ()`
    `DocPublisher (java.io.File src, java.io.File target, java.lang.Object out = LogFactory.getLog(DocPublisher)`

  - ### Methods Summary

    Methods
    Type | Name and description
    --- | ---
    `java.util.Properties` | `getEngineProperties()` Returns the engine properties.
    `protected void` | `initialize()`
    `void` | `publish()`
    `void` | `registerMacro(java.lang.Object macro)` Registers a custom Radeox macro.
    `void` | `setEngineProperties(java.util.Properties p)` Sets the engine properties.
    `protected java.lang.Object` | `verifyToc(java.io.File baseDir, java.lang.Object gdocFiles, java.lang.Object toc)` Checks the table of contents (a tree of UserGuideNodes) for duplicate section/alias names and invalid file paths.
    `void` | `writeChapter(java.lang.Object section, groovy.text.Template layoutTemplate, groovy.text.Template sectionTemplate, java.io.File guideSrcDir, java.lang.String targetDir, java.lang.Object fullContents, java.lang.Object vars)`
    `java.lang.String` | `writePage(java.lang.Object section, groovy.text.Template layoutTemplate, groovy.text.Template sectionTemplate, java.io.File guideSrcDir, java.lang.String targetDir, java.lang.String subDir, java.lang.Object path, java.lang.Object level, java.lang.Object vars)`

  - ### Inherited Methods Summary

    Inherited Methods
    Methods inherited from class | Name
    --- | ---
    `class java.lang.Object` | `java.lang.Object#wait(long, int), java.lang.Object#wait(long), java.lang.Object#wait(), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll()`

- - ### Property Detail

    - #### static final java.lang.String TOC_FILENAME

    - #### groovy.util.AntBuilder ant

      The AntBuilder instance to use

    - #### java.io.File apiDir

      Directory containing the project's API documentation.

    - #### boolean asciidoc

    - #### java.lang.String authors

      The authors of the documentation

    - #### java.lang.String copyright

      The copyright message

    - #### java.io.File css

      The directory containing any CSS to use (will override defaults) *

    - #### java.lang.String encoding

      The encoding to use (default is UTF-8)

    - #### java.util.Properties engineProperties

      Properties used to configure the DocEngine

    - #### java.io.File fonts

      The directory containing any fonts to use (will override defaults) *

    - #### java.lang.String footer

      The footer to include

    - #### java.io.File images

      The directory containing any images to use (will override defaults) *

    - #### java.io.File js

      The directory containing any Javascript to use (will override defaults) *

    - #### java.lang.String language

      The language we're generating for (gets its own sub-directory). Defaults to ''

    - #### java.lang.String license

      The documentation license

    - #### java.lang.String logo

      HTML markup that renders the left logo

    - #### java.lang.Object output

    - #### java.io.File propertiesFile

      The properties fie to populate the engine properties from

    - #### java.lang.String sourceRepo

      The source repository

    - #### java.lang.String sponsorLogo

      HTML markup that renders the right logo

    - #### java.io.File src

      The source directory of the documentation

    - #### java.io.File style

      The directory cotnaining any templates to use (will override defaults) *

    - #### java.lang.String subtitle

      The subtitle of the documentation

    - #### java.io.File target

      The target directory to publish to

    - #### java.lang.String title

      The title of the documentation

    - #### java.lang.String translators

      The translators of the documentation (if any)

    - #### java.lang.String version

      The version of the documentation

    - #### java.io.File workDir

      The temporary work directory

  - ### Constructor Detail

    - #### DocPublisher()

    - #### DocPublisher(java.io.File src, java.io.File target, java.lang.Object out = LogFactory.getLog(DocPublisher)

  - ### Method Detail

    - #### java.util.Properties getEngineProperties()

      Returns the engine properties.

    - #### protected void initialize()

    - #### void publish()

    - #### void registerMacro(java.lang.Object macro)

      Registers a custom Radeox macro. If the macro has an 'initialContext' property, it is set to the render context before first use.

    - #### void setEngineProperties(java.util.Properties p)

      Sets the engine properties. Allows clients to override the defaults.

    - #### protected java.lang.Object verifyToc(java.io.File baseDir, java.lang.Object gdocFiles, java.lang.Object toc)

      Checks the table of contents (a tree of UserGuideNodes) for duplicate section/alias names and invalid file paths.

      Returns:
        `false` if any errors are detected.

    - #### void writeChapter(java.lang.Object section, groovy.text.Template layoutTemplate, groovy.text.Template sectionTemplate, java.io.File guideSrcDir, java.lang.String targetDir, java.lang.Object fullContents, java.lang.Object vars)

    - #### java.lang.String writePage(java.lang.Object section, groovy.text.Template layoutTemplate, groovy.text.Template sectionTemplate, java.io.File guideSrcDir, java.lang.String targetDir, java.lang.String subDir, java.lang.Object path, java.lang.Object level, java.lang.Object vars)