This page last changed on Sep 06, 2011 by pwatson.
The Table of Contents macro scans the headings of the current Confluence page to dynamically create a table of contents from your page headings. This helps readers navigate lengthy pages by summarising the content structure and providing links to headings. Headings are indented progressively. On this page: Using the Table of Contents MacroTo add the 'Table of Contents' macro to a page using the Macro Browser:
- In the Confluence editor, choose Insert > Other Macros.
- Find and select the required macro.
You can also add the macro to a page by choosing Insert > Table of Contents from the editor toolbar. Macro Parameters
When editing, you can click on the macro placeholder and choose Edit to display the parameters for this macro in the Macro Browser.
Parameters are options that you can set for Confluence macros to control the content or format of the macro output. The table below lists parameters for this macro that can be set in the Macro Browser. Parameter | Default | Description |
---|
Output Type | list | - list — produces a typical list type TOC.
- flat — produces a horizontal menu-type series of links.
| Display Section Numbering | clear | Select the check box to apply outline numbering to your headings, for example: 1.1, 1.2, 1.3. | List Style | none | Select the style of bullet point for each list item. You can use any valid CSS style. For example: none — no list style is displayedcircle — the list style is a circledisc — the list style is a filled circle. This is the typical bullet list, and is used for this example list.square — the list style is a squaredecimal — the list is numbered (1, 2, 3, 4, 5)lower-alpha — the list is lower-case, alphabetised (a, b, c, d, e)lower-roman — the list style is lower roman numerals (i, ii, iii, iv, v, vi)upper-roman — the list style is upper roman numerals (I, II, III, IV, V, VI)
| Heading Indent | | Sets the indent for a list according to CSS quantities. Entering 10px will successively indent heading groups by 10px. For example, level 1 headings will be indented 10px and level 2 headings will be indented an additional 10px. | Separator | brackets | This parameter applies to flat lists only. You can enter any of the following values: brackets — Each item is enclosed by square brackets: [ ].braces — Each item is enclosed by braces: { }.parens — Each item is enclosed by parentheses: ( ).pipe — Each item is separated by a pipe:- anything — Each item is separated by the value you enter. You can enter any text as a separator, for example "***". If using a custom separator, be aware that text displays exactly as entered, with no additional white space to further separate the characters.
| Minimum Heading Level | 1 | Select the highest heading level to start your TOC list. For example, entering 2 will include levels 2, and lower, headings, but will not include level 1 headings. | Maximum Heading Level | 7 | Select the lowest heading level to include. For example, entering 2 will include levels 1 and 2, but will not include level 3 headings and below. | Include Headings | | Filter headings to include according to specific criteria. You can use wildcard characters. See Sun's Regex documentation for examples of constructing regular expression strings. | Exclude Headings | | Filter headings to enclude according to specific criteria. You can use wildcard characters. See Sun's Regex documentation for examples of constructing regular expression strings. | Printable | checked | By default, the TOC is set to print. If you clear the check box, the TOC will not be visible when you print the page. | CSS Class Name | | If you have custom TOC styles in your CSS style sheet, use this parameter to output the TOC inside <div> tags with the specified class attribute. |
ExamplesThe examples below are based on this table of contents: 
Filtered Table of ContentsThis example filters the headings to include those that contain 'Favourite', but excludes headings which end with 'Things'. The list is styled with Roman numerals. Parameter | Value |
---|
List Style | upper-roman | Include Headings | Favourite.* | Exclude Headings | .*Things |
The resulting table of contents is: 
Flat ListThis example filters all headings to render a flat list of 'Unknowns' enclosed in square brackets (the default list style). Parameter | Value |
---|
Output Type
| flat | Maximum Heading Level | 2 | Include Headings | Unknown.* |
The resulting table of contents is: 
Notes- Due to an outstanding issue in the Table of Contents macro (CONF-10619), the Macro Browser's Refresh function does not render any parameter modifications. Currently, the rendering of parameter value modifications to the Table of Contents macro occurs only after the page is saved.
Using HTML Heading Markup with the Table of Contents Macro The Table of Contents macro cannot handle HTML heading markup on its own. Hence, if you use the HTML and HTML Include macros to render HTML heading markup in a Confluence page, the Table of Contents macro will not create a contents list out of these headings. (For more information about this issue, please refer to TOC-93.) However, if you insert an HTML anchor into each HTML heading on your page (based on the following syntax), the Table of Contents macro will incorporate these headings into your contents list.
<h2><a name="pagename-headingname"></a>Heading Name</h2>
The syntax for the anchor name is the page name and heading name separated by a hyphen, in which the page and heading names have all spaces removed and are converted to lowercase. If punctuation marks occur within a page or heading name, each mark should usually be converted to its URL escape code in the anchor name.
Related TopicsTable of Contents Zone Macro Pagetree Macro Adding a Navigation Sidebar Working with Macros Take me back to the Confluence User's Guide.
|