Создание списка заголовков

Используя возможность указания подзаголовков в тексте, мы можем значительно улучшить страницу.

навигация путем автоматического создания якорей гиперссылок и целей для них. Это

считается хорошим дизайном веб-страницы, чтобы начать более длинную страницу со списком основных заголовков,

гиперссылки на соответствующие разделы. Это легко стандартизировать по всей вики.

Что ж, оказывается, это довольно легко сделать на лету, с небольшими накладными расходами на

пользователь или автор страницы. Выбранный формат списка компактен и имеет несколько уменьшенный размер,

как показано в примере на рис. 6-12. Синтаксис заголовка с несколькими восклицательными знаками

метки (!) повторяются в этом списке как визуальный сигнал относительной важности. В дополнение к

к каждому заголовку добавляется маленький знак вставки ( Λ ) в качестве якоря для обратной ссылки на

список заголовков — также хороший дизайн веб-страницы.

Код для этого, по сути, один и тот же, какой бы вариант вики вы ни использовали.

использовать. Он должен стоять перед построчными заменами в разделе, который заменяет

Теги HTML для шаблонов синтаксиса, но после любого кода, который экранирует буквальный текст. Он генерирует

«преамбула» страницы со списком всех найденных заголовков.

моя голова; мой $hc = 1;

в то время как ( s/(! !+) (.+?) ([\n|\-|\$\/])/$mark$hc$mark<a

name=\"$hc\">$2<\/a> <a href=\"#0\"> Λ <\/a>$3/s ) {

$body .= " $l<a href=\"#$hc\">$2</a>";

# простое визуальное ранжирование

$head[$hc++] = $1;

}

если ( s/$mark(\d+)$mark/$head[$l]/sg

) {


1

42

НАСТРОЙКА ВАШЕЙ ВИКИ

$ body = " < smallxa name=\" 0\"><em>Заголовки: < / emx / a >

маленький><p>"

} # сделать красиво

$тело</

Здесь есть несколько деталей «украшательства», но фактическая рабочая часть

относительно просто. Цикл while ищет специальные шаблоны, определяющие

заголовки, здесь два и более восклицательных знака. Он временно заменяет их на

код маркера (не ASCII) и в то же время делает заголовок целью ссылки.

Цели называются по их порядковому номеру. Переменная $body изначально

пустой (пока нет замен), поэтому мы можем добавить привязки (с тегами HTML) как

они найдены. Обычно мы предполагаем, что заголовки заканчиваются концом строки, но мы

разрешить раннее усечение целевого текста, вставив пользователем знак вставки ( Λ ) в

текст.