Макрокоманда Include
Contents
Эта макрокоманда включает в страницу предварительно отформатированное содержимое одной или нескольких других страниц той же вики. Допускается вложенное включение страниц друг в друга; если при этом образуется бесконечная рекурсия, действие не выполняется.
Использование
<<Include(страница, заголовок, уровень, from="regex", to="regex", sort=ascending|descending, items=n, skipitems=n, titlesonly, editlink)>>
- страница
Имя включаемой страницы; если в начале стоит символ "^", этот параметр понимается как регулярное выражение, в этом случае включается содержимое всех подходящих страниц.
- заголовок
- Если указан, перед включаемым содержимым выведется заголовок-ссылка на включаемую страницу..
- уровень
- Указывает, заголовок какого уровня (1..5) будет показан в предыдущем случае.
- from
- Включать текст частично, начиная со строки, удовлетворяющей регулярному выражению, указанному в значении параметра.
- to
- Включать текст частично, заканчивая строкой, удовлетворяющей регулярному выражению, указанному в значении параметра.
- sort
Сортировка включаемых страниц (если страница — это регулярное выражение, т. е. начинается с "^")
- items
- Максимальное число включаемых страниц.
- skipitems
- Количество страниц в начале списка, которые следует пропустить.
- titlesonly
- Оставить от включаемой страницы только заголовок — ссылку на эту страницу.
- editlink
- После включения страницы показать блок со ссылками на эту страницу в режиме просмотра и редактирования.
Несмотря на то, что все параметры, кроме страница, необязательны, указывать их следует только в приведённом порядке! Если параметры заголовок и уровень не используются, им соответствует один пустой параметр макрокоманды (см. пример ниже), за которым могут следовать from и т. д.; соответствующая ссылка не выводится.
Регулярные выражения из from и to применяются ко всему тексту исходной страницы, в т. ч. и к содержимому комментариев. Это может помочь при оформлении составных страниц, но требует более пристального внимания к комментариям, дабы включаемая часть страницы не началась и не закончилась неожиданно.
Примеры
Включить в страницу содержимое страницы ИмяСтраницы:
<<Include(ИмяСтраницы)>>
Вставить заголовок «Имя Страницы» первого уровня, ссылающийся на эту страницу, перед текстом страницы ИмяСтраницы:
<<Include(ИмяСтраницы,"Имя Страницы")>>
Вставить заголовок «ИмяСтраницы» второго уровня (обратите внимание на отсутствие параметра «заголовок», приводящее к использованию двух запятых подряд):
<<Include(ИмяСтраницы, , 2)>>
- Вставить заголовок «Всё о имени страницы» третьего уровня:
<<Include(ИмяСтраницы, 'Всё о имени страницы', 3)>>
Включить только текст после первой горизонтальной линии:
<<Include(ИмяСтраницы, , from="^----$")>>
Включить только текст перед первой горизонтальной линией:
<<Include(ИмяСтраницы, , to="^----$")>>
- Отсортировать включаемые страницы в обратном порядке:
<<Include(^ИмяСтраницы/.*, , sort=descending)>>
- Включать не более трёх страниц:
<<Include(^ИмяСтраницы/.*, , items=3)>>
- Показать не более семи записей из блога (обратите внимание на порядок следования параметров):
<<Include(^СтраницаБлога/.*,, to="^----$", sort=descending, items=7)>>
- Показать ссылки на предыдущие семь записей в блоге:
<<Include(^СтраницаБлога/.*,, to="^----$", sort=descending, items=7, skipitems=7, titlesonly)>>
Блоги, созданные при помощи макрокоманды MonthCalendar, можно просматривать следующим образом:
- Показать три записи из календаря:
<<Include(^ИмяФамилия/20..-..-..,,to="^----",sort=descending,items=3)>>
- Показать в виде заголовков ссылки на предыдущие четыре записи из календаря:
<<Include(^ИмяФамилия/20..-..-..,,to="^----",sort=descending,items=4,skipitems=3,titlesonly)>>
- Показать три записи из календаря: