Отобразить (включить) оглавление MediaWiki (TOC) на другой странице

В MediaWiki мы хотели бы отображать оглавления (с нескольких страниц) на одной другой странице. Мы знаем, что это можно сделать автоматически, например, если мы добавим страницы 1, 2 и 3 следующим образом:

{{:Page 1}}
{{:Page 2}}
{{:Page 3}}

на странице X, а затем на странице X отображается общее содержание для страниц 1, 2 и 3.

Но нам нужна таблица на странице X, которая показывает каждое оглавление в отдельной ячейке. Есть ли способ включить каждое оглавление в отдельности?

Я пытался использовать <noinclude></noinclude> теги вокруг текста на страницах 1, 2 и 3, а затем принудительное оглавление снаружи (используя __TOC__) но это только создает оглавление на странице X (используя содержимое страницы X).

1 ответ

Решение

Ты не можешь Оглавление генерируется динамически на каждой странице для всех разделов, которые появляются на текущей странице.

Когда вы включаете разделы (или, по крайней мере, заголовки разделов) других страниц, они будут отображаться в оглавлении страницы X. Если вы включите __TOC__ волшебное слово, это значит только сгенерировать ток для страницы X.

Три решения:

  1. Включите раздел (заголовки) страниц 1, 2 и 3. Они будут отображаться в тексте страницы X, даже если они содержатся в <div style="display:none;"> - действительно безобразный способ.
  2. Скопируйте таблицы TOC вручную на страницу X. Вы можете просмотреть их HTML, посмотрев в сгенерированном источнике HTML страниц 1, 2 и 3 в своем браузере.
  3. Напишите расширение, которое позволяет транслировать оглавления с других страниц. Это может ввести новую функцию парсера {{toc:<pagename>}} и быть в состоянии вызвать функцию генерации toc в контексте другой страницы.
  4. Включите в список только заголовки разделов. На страницах 1, 2 и 3 вам нужно будет написать

    == <onlyinclude><includeonly>##</includeonly> Heading Number One </onlyinclude> ==
    === <onlyinclude><includeonly>###</includeonly> Part One of Heading Number One </onlyinclude> ===
    ...
    

    который вы сможете включить в таблицу на странице X с

    {{:Page 1}}
    

    Он должен отображаться в виде нумерованного списка, как TOC.

Другие вопросы по тегам