Это должно быть вставлено до того, как шаблоны ссылок будут заменены активной гиперссылкой.
якоря. Обратная косая черта перед $wiki/ означает, что символ "$" является частью
шаблон; в противном случае мы искали бы текущее значение переменной с этим
имя. Поскольку завершающая косая черта является частью шаблона, мы решили использовать «:» в качестве шаблона.
разделитель вместо обычного "/".
Совет 6.13. Сделайте так, чтобы сценарии запускались где угодно
Когда вы используете замену URL-переменной, результирующие перекрестные ссылки могут оставаться
действует даже для зеркальных вики под разными доменами или системами без
изменение сценария. Замена всегда использует текущий URL-адрес сервера, определенный
в переменной.
Связанный полезный ярлык:
s : \$ws/:$ServeRoot:ge;
# относительный-сервер
1
42
НАСТРОЙКА ВАШЕЙ ВИКИ
который заменяет шаблон $ws/ URL-адресом корня документа сервера. Это
удобный способ ссылки на файлы на том же сайте; например, обычные файлы изображений в
централизованный каталог сайтов.
Сокращенную нотацию можно сделать еще более лаконичной, определив более конкретные шаблоны,
$wikii и $wiki2, чтобы первый URL стал просто:
$wiki2/ЭтаСтраница
С другой стороны, если у вас их несколько, вероятно, лучше
рассмотрите более гибкое решение, которое не требует жесткого кодирования ссылок в
каждый сценарий. Один из них заключается в использовании списков URL-адресов, где эти ярлыки определяются в
отдельный файл, включенный в каждый модуль, который нуждается в них с использованием или требованием Perl
команды.
Ярлыки на основе таблиц
Расширенная и обобщенная версия заменяемых путей заключается в использовании отдельного текстового файла.
где вы определяете любое количество конкретных (мнемоник) шаблонов идентификаторов и их
Подстановки URL-адресов. Например, C2wiki:: может означать http://c2.com/cgi/
вики?. К этому добавляется все, что следует после двойного двоеточия, например указанная страница.
Начальная заглавная буква в идентификаторе позволяет избежать путаницы со стандартным Интернетом.
протоколы, но следует аналогичному синтаксису URL.
В коде подстановки для управления этим мы ищем полный шаблон, и если
найдены, мы обращаемся к подпрограмме, чтобы заменить часть идентификатора с двоеточиями на
полный URL из списка. Обратите внимание на круглые скобки вокруг первого члена, что приводит к
переменная подстановки $1, чтобы получить значение совпадающего шаблона.
s/($wikiRef)::/&RefList($1)/ge
;
# заменить из списка
Переменная шаблона сопоставления предопределена как:
$wikiRef ·= "[AZ] [A-Za-zO-9]+";