Table of Contents: оглавление документа



Модуль Table of Contents представляет из себя фильтр для форматов ввода, который позволяет создавать оглавление документа из тегов <h2> и <h3>. После включения модуля перейдите к форматам ввода и включите для них фильтры. Отметьте: для правильной работы новых фильтров, вам возможно придётся поменять общий порядок применения фильтров.

После настройки форматов ввода, для того чтобы создать оглавление документа используйте тег <!--tableofcontents-->. Этот тег будет заменён оглавлением документа. Отметьте: даже если вы в дальнейшем отключите этот модуль, то лишь исчезнет оглавление, сам тег показываться на страницах всё равно не будет.

С этим тегом можно использовать несколько параметоров в следующем виде:

<!--tableofcontents option1: value1; option2: value2;...-->

Доступны следующие настройки:

  • title: переопределяет название блока оглавления (по умолчанию используется Table of Contents. Отметьте: для того, чтобы названия оглавления по умолчанию было доступно для перевода, оно используется в модуле с функцией t(), поэтому если вы хотите переопределить это название, вам не нужно использовать этот параметр в теге каждый раз, достаточно перевести эту строку модулем Locale.
  • list: использование нумерованного (ol) или маркированного (ul) списка.
  • minlevel: Минимальный уровень заголовка. По умолчанию используется тег <h2>
  • maxlevel: Максимальная глубина заголовка. По умолчанию используется тег <h3>

Правда использовать русские буквы в параметрах опять же не получится.

Код страницы:

Вид страницы:

Сборка Table of Contents включает два модуля: headinganchors.module и tableofcontents.module.

headinganchors.module

Этот модуль добавляет ID аттрибуты к тегам h2 и h3, что позволяет создавать на них ссылки. Аттрибуты создаются из текста тегов, для создания аттрибутов используются следующие правила:

  • All non alphanumerics are removed
  • Case is preserved to allow for some measure of readability
  • HTML tags are stripped from in the middle of heading tags for the anchors

Пример: <h2>I Link To <a href="http://www.csaonline.ca/">csaonline.ca</a></h2>

Данный заголовок получит следующий ID: <h2 id="ILinkTocsaonlineca">I Link To <a href="http://www.csaonline.ca/">csaonline.ca</a></h2>
и будет доступен по ссылке /<url>#ILinkTocsaonlineca

Несколько заголовков с одинаковым текстом начинают нумероваться, при повторе к ним начинает добавляться -# (где # — это номер повтора). Однако не всё так хорошо, как кажется. Если у вас заголовки на русском языке, то первый заголовок будет пропущен, т.к. номер для первого заголовка не добавляется, а все русские буквы будут вырезаны. Чтобы избежать такого пропуска, используйте перед ним пустой тег <h2>.

tableofcontents.module

Этот модуль генерирует оглавление на базе тегов <h2> и <h3>. Работа модуля основывается на предыдущем модуле, который создаёт якоря для этих тегов, но если вы сделаете их самостоятельно, то предыдущий модуль возможно не использовать.

Разработчик

Andrew Berry, andrewberry [at] sentex [dot] net. Разработано для http://www.csaonline.ca.

Comments

Post new comment

The content of this field is kept private and will not be shown publicly.
Image CAPTCHA
Copy the characters (respecting upper/lower case) from the image.