You can include a left-hand navigation sidebar (table of contents) in your Confluence space. There are two ways to do this:


When you upgrade to a new major Confluence version (e.g. from Confluence 2.9.x to Confluence 2.10.x or from Confluence 3.0.x to Confluence 3.1.x), you will need to re-apply the layout customisation. See instructions below.

Customising your Layouts to Add a Navigation Sidebar

Screenshot: A left-hand navigation bar resulting from customising the page layouts



Follow the instructions below to add the navigation sidebar to your Confluence space.

To customise a space layout as described below, you must be a Space Administrator in the given space and you must be a System Administrator on the Confluence site.

Step 1. Create the TreeNavigation Page

First, you will create a Confluence page containing the pagetree macro. This is just a normal Confluence page. The only slight oddity is that it should reside at the root of your space, instead of under the space's home page.

Follow these instructions:

  1. You are now at the 'root' level of your space. The 'root' level contains pages that are added above the space's home page, not as children of the home page.
  2. At the root level of the space, create a page named 'TreeNavigation'.
  3. On the page, insert the following text:
    {pagetree}
    
  4. Now decide if you want to add extra functionality to your page tree. By default, using the code above, the page tree will use the home page of the space as its root. You can choose to:

Step 2. Change the Page Layout on your Space

Now you will change the page layout on your space, to include the above page on the left of every web page displayed.



  1. Make sure the Confluence Default theme is selected from the 'Themes' menu.

  2. Click 'Layout' under the 'Look and Feel' section.
    (info) 'Layout' is only displayed if you are a Confluence Site Administrator.

  3. Click 'Create Custom' under the 'Page Layout' section.

  4. In the layout, locate the 'VIEW' section, and find this code:
    <div class="wiki-content">
    $body
    </div>
    
  5. Replace the above code block with this code:
    #if ($action.isPrintableVersion() == false)
    <style>
    .spacetree * ul{
    padding-left:0px;
    margin-left: 0px;
    }
    .spacetree * li{
    margin-left: 5px;
    padding-left:5px;
    }
    
    </style>
    
    <table cellspacing="2" cellpadding="5">
    <tr>
    <td valign="top" align="left" width="22%" bgcolor="#F9F9F9" class="noprint">
    <div class="tabletitle">Table of Contents</div>
    <div class="spacetree">
    #includePage($helper.spaceKey "TreeNavigation")
    </div>
    </td>
    <td valign="top" align="left" width="78%" class="pagecontent">
    <div class="wiki-content">
    $body
    </div>
    </td>
    </tr>
    </table>
    #else
    <div class="wiki-content">
        $body
    </div>
    #end
    
  6. If you want to, you can change the table title in the above code from 'Table of Contents' to something else. For example, it might say 'Confluence Documentation'.

  7. Save the updated layout.

Re-Applying the Customisation on Upgrade

When you upgrade to a new major Confluence version (e.g. from Confluence 2.9.x to Confluence 2.10.x or from Confluence 3.0.x to Confluence 3.1.x), you will need to re-apply this customisation.

Reason:
The new Confluence version may contain updates to the page layouts. Because you have customised the page layouts, Confluence will not overwrite your customisation. So your space will not get the latest updates until you set the layout to default and then re-apply your changes.

Here's how to do it:

  1. First make a copy of your customised code, if you have changed it from the code above:
  2. Click 'Reset Default' next to 'Page Layout', to set the page layout back to default. This will bring in the new code for the upgraded version of Confluence.
  3. Create a custom page layout as described in step 2 above, and reinsert the custom left-hand navigation code.
  4. Save the updated layout.

A number of people have asked how we created the 'All Versions' section at the top of our navigation side bar. Take a look at Adding an All Versions Section to your Navigation Bar.

RELATED TOPICS

Configuring the Documentation Theme
Customising Layouts
Upgrading Custom Layouts
Example Confluence Designs