Макрокоманда Include

Эта макрокоманда включает в страницу предварительно отформатированное содержимое одной или нескольких других страниц той же вики. Допускается вложенное включение страниц друг в друга; если при этом образуется бесконечная рекурсия, действие не выполняется.

Использование

<<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)>>