THIS IS HISTORY! Check fabien.benetou.fr for news.

Seedea, scalable creativity

Xye, consultancy for serious creators

Information

RSS

(Updates)

A basic table of contents (TOC) and Numbered headings (NH) are included in PmWiki 2.2.119 and can be enabled with the following in config.php:

  $PmTOC['Enable'] = 1;

Usage

The feature is based on the recipe Cookbook:AutoTOC but is somewhat simpler.

The following directives in the wiki page can control the above features:

The TOC will use anchors or identifiers of the headings from the page, if they exist, otherwise it will create a new identifier (hash) based on the structure of the page. The following markups will all create a link with the anchor PageUrl#here:

If there is no identifier or anchor with a heading, then the anchor will be in the form #toc-1.2.1 where 1.2.1 is the structural path to the section, in this example "Section 1, subsection 2, sub-subsection 1".

Configuration

The following local configuration (in local/config.php) can control the default settings:

Internationalization

The following strings can be translated in XLPage, for example in French:

  "Contents" => "Sommaire",
  "show"     => "afficher",
  "hide"     => "masquer",

Styles

If you prefer to see the TOC on the right side, you may want to insert the following in your $PubDirUrl/css/local.css file:

.PmTOCdiv {
    float: right;
    margin-left: 5px;
  }

You can modify the table elements font size and maximum table height by defining in your $PubDirUrl/css/local.css file:

.PmTOCdiv { 
    font-size: 15px; 
    max-height: 600px;
  }

The default font size is 13px and the default maximum height is 500px, you can define own values. When the table height exceeds the max-height value, there is a scrollbar (overflow:auto).

See also: Cookbook:AutoTOC. If you previously used AutoTOC you need to disable it when enabling $PmTOC.

This page may have a more recent version on pmwiki.org: PmWiki:TableOfContents, and a talk page: PmWiki:TableOfContents-Talk.

Page last modified on August 20, 2020, at 04:43 AM