Пожалуйста, экспериментируйте в песочнице!
Автоматизированное создание содержания страницы с нумерацией заголовков доступно с версии PmWiki 2.2.119, для активации добавьте в config.php:
  $PmTOC['Enable'] = 1;
Использование 
Рецепт основан Cookbook:AutoTOC с некоторыми упрощениями: 
- Содержание страницы генерируется полностью автоматически, нет необходимости добавлять какую-либо разметку на страницу;
 - Содержание добавляется на страницу прямо перед первым найденным на ней заголовком (h1,h2,...);
 - по-умолчанию, Содежание генерируется только для тех страниц, на которых существует более 3 или более заголовка;
 - посетители могут сворачивать или разворачивать Содержание, выбранный режим сохраняется в "localStorage", т.е. автоматически применяется на всех остальных страницах сайта;
 - рецепт предполагает автоматическую нумерацию заголовков;
 - заголовки в визуально скрытых блоках не попадают в Содержание;
 - заголовки с классом 
%block notoc% также не попадут в Содержание;
 - заголовки внутри разметки 
(:markup:) также не попадут в Содержание.
 
Вышеперечисленные возможности регулируются следующими контентными директивами:
(:toc:) Содержание будет показано на месте вызова команды (вместо дефолтного "перед первым заголовком"), причем форсированно, вне зависимости от числа заголовков страницы;
(:notoc:) Содержание не будет показано, даже если заголовков больше трех, или же существует директива (:toc:). В случае, если у вас на странице только один-два заголовка, опция пригодится чтобы подавить автоматическую нумерацию.
Содержание генерируется на базе Якорей, которые создаются автоматически около Заголовков. Якоря могут задаваться вручную или автоматически. Якорь PageUrl#here можно вручную создать следующими способами:
!! Заголовок с id %block id=here%
!! Заголовок с якорем [[#here]], или
!! [[#here]] Заголовок с якорем
[[#here]]
!!  Якорь, предшествующий заголовку
Если же ни один из этих способов не применен, Содержание автоматически создает Якоря на базе семантической структуры страницы, например: #toc-1.2.1, где 1.2.1 - это "семантический путь" к текущему заголовку.
Конфигурация на уровне PHP 
В локальной конфигурации (local/config.php) доступны следующие настройки:
$PmTOC['Enable'] = 1; # включить/выключить Содержания, по-умолчанию 0.
$PmTOC['MaxLevel'] = 6; # максимальный уровень вложенности Заголовков, используемых для генерации Содержания. По-умолчанию, 6, что означает включение заголовков от <h1> до <h6>.
$PmTOC['MinNumber'] = 3; # минимальное необходимое для генерации Содержания число заголовков на странице. Примеры:
$PmTOC['MinNumber'] = 2; # Содержание будет генерироваться на страницах с двумя и более Заголовками;
$PmTOC['MinNumber'] = 9999999; # Содержание фактически не будет генерироваться автоматически, его можно будет вызвать вручную директивой (:toc:). Обратите внимание, автоматическая нумерация Заголовков при этом сохранится!
$PmTOC['NumberedHeadings'] = '1.1.1.1.1.1'; # метод автоматической нумерции Заголовков:
- для разных уровней семантической вложенности Заголовков можно указать свой мето нумерации. Например, вот такая конфигурация: 
   $PmTOC['NumberedHeadings'] = 'I.1.a';  
   обозначит высший уровень Заголовка римскими цифрами (I, II, ...), второй уровень арабскими, третий - латинским буквами (a, b, ...), а оставшиеся уровни снова цифрами.
 
$PmTOC['EnableBacklinks'] = 1; # после заголовков добавлять ссылку в виде "↑", возвращающую назад к Содержанию (по-умолчанию, выключено).
$PmTOC['ParentElement'] = "#wikitext"; # CSS-селектор элемента, определяющий место добавления Содержания. По-умолчанию, содержание вставляет перед первым найденным Заголовком, здесь можно переопределить это поведение. В любом случае, применение директивы (:toc:) имеет высший приоритет (см. выше).
Перевод 
Внеся следующие правки XLPage, можно перевести Содержание на русский:
  "Contents" => "Содержание",
  "show"     => "показать",
  "hide"     => "скрыть",
Кстати: можно изменить отображение блока с Содержением. Чтобы, например, вывести его справа добавьте следующий CSS-код в ваш макет:
  .PmTOCdiv {
    float: right;
    margin-left: 5px;
  }
См. также: Cookbook:AutoTOC. Если вы ранее использовали AutoTOC, не забудьте отключить его перед активацией $PmTOC.
  Перевод страницы PmWiki.TableOfContents - 
Оригинал перевода PmWikiRu.TableOfContents -
Backlinks
PmWikiRu.TableOfContents: редакция от February 23, 2020, at 07:43 PM
PmWiki.TableOfContents: редакция от December 17, 2022, at 05:18 PM