ReplacePage, условное назначение строит полную страницу из существующих
содержимое плюс комментарии — в режиме редактирования сохраняется только текст формы, перезаписывая
существующий контент.
... (после обработки замен/действий)
если ($page{editmode}=~ /append/) {
1
42
НАСТРОЙКА ВАШЕЙ ВИКИ
$страница{текст} = $последнийтекст
. "\n
\n$страница{текст}";
}
&ReplacePage($название,
\%страница);
Форма редактирования может быть настроена так, чтобы читать «Введите свой комментарий здесь» при добавлении
режим, но для этого пользователь должен удалить подсказку, прежде чем сделать это. Поскольку
append hack частично предназначен для быстрого ввода, эта «полезная» функция не
считается стоящим. Вместо этого заголовок в форме обеспечивает визуальную подсказку.
Обработка содержимого страницы
Модульность QuickiWiki позволяет легко добавлять новые функции, которые в основном работают.
независимо от основного сценария. Мы представим один простой пример обработки
содержимое страницы здесь, на основе модуля подсчета, указанного в разделе расширенного модуля
Глава 7. Имея некоторый опыт программирования и руководствуясь этим примером, вы
не составит труда написать свои собственные специализированные модули прецессии для других
целей.
Образец модуля дает вам возможность подсчитывать специальные числовые поля, размещенные
на некоторых страницах вики. Одним из способов использования этой возможности может быть время или стоимость.
управление командой проекта, где каждая страница обновляется назначенными участниками.
Другим может быть суммирование доступного свободного места для записи на вашем видеомагнитофоне.
collection — более ранний пример личного использования вики, описанный в главе 4.
Функциональное предположение состоит в том, что вы настраиваете перевернутое дерево подчиненных
страницы, все связанные прямо или косвенно с верхней родительской страницы, которая определяет, что
подсчет все о. Некоторые или все эти страницы затем обновляются числовыми значениями,
помечены каким-либо осмысленным образом.
Создайте ссылку http: tally.cgi на главной странице — при нажатии на нее выполняется подсчет.
расчет. Затем модуль подсчета проходит по ссылкам страниц, начиная с
страница, на которой находится ссылка для подсчета. Со страниц-членов, определенных ссылкой, он собирает все значения
которые соответствуют простому определению «поля»; например:
/\s+([аз
]+)\:\s*(\d+(\.\d+)?)/i
Переведено во что-то более читабельное: "с пробелом, одно или несколько слов
за которым следует двоеточие, затем (с пробелами или без них) числа».
текст отображается в визуально отличительном стиле абзаца преформата.) Вы можете
также определить какой-либо другой способ идентификации полей, но часто самый простой способ
оказывается более чем адекватным. В противном случае другим хорошим кандидатом мог бы быть
список определений.
ВЗЛОМ ВАШЕГО ИСТОЧНИКА WIKI
189
# Подсчет тех, кто
^
-
•
• Кто есть кто
• SvstemАдминистратор
• WardCunnin&ham время: 6 прогноз: 9
• Время BoLeuf: 43 защищено: 75
сумма
49
иметь в виду
24,5
считать
JsLliJA
2
'