Table of contents

authors (basic)

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:

  •   2.  Styles
  •   3.  See also
  • directive will create a table of contents in the page. @@

    1.  Internationalization

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

      "Contents" => "Sommaire",
    

    2.  Styles

    To change the "^" caret character in the back-to-table-of-contents links, you can add to pub/css/local.css:

    .back-arrow::after {
      /* Use one of the content: lines */
      content: "\2191"; /* ? Up arrow */
      content: "\21A9"; /* ? Return arrow */
      content: "\2934"; /* ? Up-right arrow */
      content: "\2912"; /* ? Upwards arrowhead */
      content: "\2303"; /* ? Control symbol */
      content: "\21E7"; /* ? Upwards white arrow */
      content: "\2302"; /* ? House */
      content: "\21B0"; /* ? Upwards arrow with tip */
      content: "\21A5"; /* ? Upwards arrow from bar */
      content: "\25B2"; /* ? Black up-pointing triangle */
      content: "\261D"; /* ?? Up-pointing index emoji */
      /* Or some small text */
      content: "[Contents]"; font-size: 0.6rem; vertical-align: super;
    }
    If you prefer to see the TOC on the right side, you may want to insert the following in your local.css file:
    .PmTOCdiv {
      float: right;
      margin-left: 5px;
    }

    The default font size is 13px and the default maximum height is 40vh (40% of the screen height). When the table height exceeds the max-height value, there is a scrollbar (overflow:auto).

    You can modify the font size and maximum table height by defining in your local.css file:
    .PmTOCdiv { 
      font-size: 15px; 
      max-height: 600px;
    }
    The numbering for a heading includes all the "parent" levels, like "2.3.1." To only show the number for the current heading, e.g. "1.", add to local.css:
    .pmnumwrap > span:not(:last-child) {
      display: none;
    }

    3.  See also

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

    < Table directives | Documentation Index | Wiki styles >


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

    working together for great schools / info@emidfamilies.org