Class TocMacro

  • All Implemented Interfaces:
    org.apache.maven.doxia.logging.LogEnabled, Macro

    @Component(role=Macro.class,
               hint="toc")
    public class TocMacro
    extends AbstractMacro
    Macro to display a Table Of Content in a given Sink. The input parameters for this macro are:
    section
    Display a TOC for the specified section only, or all sections if 0.
    Positive int, not mandatory, 0 by default.
    fromDepth
    Minimal depth of entries to display in the TOC. Sections are depth 1, sub-sections depth 2, etc.
    Positive int, not mandatory, 0 by default.
    toDepth
    Maximum depth of entries to display in the TOC.
    Positive int, not mandatory, 5 by default.
    For instance, in an APT file, you could write:
    %{toc|section=2|fromDepth=2|toDepth=3}
    Display a TOC for the second section in the document, including all subsections (depth 2) and sub-subsections (depth 3).
    %{toc}
    display a TOC with all section and subsections (similar to %{toc|section=0} )
    Moreover, you need to write APT link for section to allow anchor, for instance:
     * {SubSection 1}
     
    Similarly, in an XDOC file, you could write:
     <macro name="toc">
       <param name="section" value="1" />
       <param name="fromDepth" value="1" />
       <param name="toDepth" value="2" />
     </macro>
     
    Author:
    Vincent Siveton
    • Field Summary

      • Fields inherited from interface org.apache.maven.doxia.macro.Macro

        EOL, ROLE
    • Constructor Summary

      Constructors 
      Constructor Description
      TocMacro()  
    • Constructor Detail

      • TocMacro

        public TocMacro()
    • Method Detail

      • execute

        public void execute​(org.apache.maven.doxia.sink.Sink sink,
                            MacroRequest request)
                     throws MacroExecutionException
        Execute the current macro using the given MacroRequest, and emit events into the given sink.
        Parameters:
        sink - The sink to receive the events.
        request - The corresponding MacroRequest.
        Throws:
        MacroExecutionException - if an error occurred during execution.