Этот последовательный подход может быть применен даже к списку третьего типа: определению
список. Интуитивно понятный символ для определения — двоеточие, поэтому предлагаемое правило — это элемент
строка, начинающаяся с одного или нескольких двоеточий. Тег блока для списка — <DL>, дающий
следующую строку кода:
s/* (: + )(.+?)•: ( +)/ <dt>$2<dd>/
ScSc($body.= &EmitCode('DL', длина $1));
Поскольку нам нужно отделить часть термина от части определения, мы используем
шаблон "любое количество двоеточий, затем что угодно до следующего двоеточия", чтобы заключить
срок.
Вторая часть результата совпадения (на которую ссылается $2) — это определение «термин»,
поэтому замена просто вставляет тег <dt> впереди и тег <dd> после. Обратите внимание, что мы
снова используйте нотацию минимального соответствия perl5 (. + ?), чтобы гарантировать, что только первый
следующее двоеточие определяет конец части термина.
Большинство браузеров отображают результирующий HTML как термин плюс определение с отступом, таким образом
следующий исходный текст:
:За этим термином: следует определение.
становится:
Этот термин
следует определение.
Код автоматически поддерживает вложенные списки (обычно отображаемые как дополнительные отступы),
хотя вложенные списки определений не совсем входят в краткий список обязательных или желаемых
наценка.
Поддержка устаревшего формата списка
В текущих реализациях авторов отступы не рекомендуются как способ
обозначение элементов списка. Однако мы по-прежнему можем отображать существующие списки с пробелами.
(устаревшие страницы) с этим простым включением (для одного уровня):
с/^(\s+)\*/<li>/
1
ScSc($body .= ScEmitCode(' UL , 1));
1
42
НАСТРОЙКА ВАШЕЙ ВИКИ
В качестве альтернативы, для нескольких уровней, указанных на одной или нескольких вкладках:
. с/ А (\t+)\*/<li>/
1
ScSc ($body .= &EmitCode (' UL , длина $1));
Такие устаревшие замены должны идти после поддерживаемых в настоящее время, но до
любое правило, использующее пробелы, например предварительно отформатированное.
Для отображения нумерованных списков, начинающихся с цифр (за которыми следует точка, 4.
ст., или скобка, 4) ст.), мы можем включить:
с/^(\d+)\./<li>/
1
ScSc ($body .= &EmitCode (OL · , 1) ) ;
с/"(\d+)\)/<li>/
ScSc($body.= &EmitCode('OL',1));