Содержание страницы
Пожалуйста, экспериментируйте в песочнице!
Автоматизированное создание содержания страницы с нумерацией заголовков доступно с версии 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) доступны следующие настройки:
# включить/выключить Содержания, по-умолчанию 0.$PmTOC['Enable'] = 1;# максимальный уровень вложенности Заголовков, используемых для генерации Содержания. По-умолчанию, 6, что означает включение заголовков от <h1> до <h6>.$PmTOC['MaxLevel'] = 6;# минимальное необходимое для генерации Содержания число заголовков на странице. Примеры:$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;# CSS-селектор элемента, определяющий место добавления Содержания. По-умолчанию, содержание вставляет перед первым найденным Заголовком, здесь можно переопределить это поведение. В любом случае, применение директивы$PmTOC['ParentElement'] = "#wikitext";(:toc:)имеет высший приоритет (см. выше).
Перевод
Внеся следующие правки XLPage, можно перевести Содержание на русский:
"Contents" => "Содержание", "show" => "показать", "hide" => "скрыть",
Кстати: можно изменить отображение блока с Содержением. Чтобы, например, вывести его справа добавьте следующий CSS-код в ваш макет:
  .PmTOCdiv {
    float: right;
    margin-left: 5px;
  }
См. также: Cookbook:AutoTOC. Если вы ранее использовали AutoTOC, не забудьте отключить его перед активацией $PmTOC.
  Перевод страницы PmWiki.TableOfContents - 
Оригинал перевода PmWikiRu.TableOfContents -
Lacak Balik
PmWikiRu.TableOfContents: редакция от 2020-02-24, pukul 02.43 WIB
PmWiki.TableOfContents: редакция от 2023-12-29, pukul 19.02 WIB
