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

Данная макрокоманда предназначена для тех, кто использует МойнМойн как хранилище персональных данных (в том числе, ежедневных записей) и нуждается в интеграции календаря в вики.

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

<<MonthCalendar(БазоваяСтраница, год, месяц, смещение месяца, смещение месяца в ссылках, высота6, годовой календарь, шаблон)>>

Название параметра

Возможные значения

Значение по умолчанию

Описание

БазоваяСтраница

имя страницы

текущая страница

Базовая страница для записей календаря. Можно указывать несколько страниц через *.

год

целое число

текущий год

Год, отображаемый в календаре.

месяц

1..12

текущий месяц

Месяц для отображения в календаре. См. также смещение месяца, смещение месяца в ссылках.

смещение месяца

целое число

0

Смещение, добавляемое к месяцу при отображении.

смещение месяца в ссылках

целое число

0

Смещение, кумулятивно со значением параметра смещение месяца добавляемое к ссылкам навигации в календаре (переход на следующий/предыдущий месяц/год).

высота6

0 или 1

0

Выравнивание календаря по высоте в 6 строк (полезно для календарей на несколько месяцев).

годовой календарь

0 или 1

0

Годовой календарь (календарь, где ссылки не содержат год; полезно для дней рождения и других ежегодно повторяющихся событий).

шаблон

имя страницы

Страница шаблона, используемого для добавления новых записей при переходе по ссылкам календаря.

Любой из параметров может быть быть пустым, при этом он будет иметь значение по умолчанию.

Когда событие присутствует в календаре (существует соответствующая дате вложенная страница), его дата будет выделена, и при наведении на неё будет появляться всплывающее сообщение. В его теле будет находиться содержимое заголовков первого уровня.

Примеры


Простейший вариант:

Разметка

Результат

<<MonthCalendar>>

<< <  2023 / 4 >  >>
Пн Вт Ср Чт Пт Сб Вс
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30


Календарь предыдущего месяца для страницы "ДругойПользователь" выглядит следующим образом:

Разметка

Результат

<<MonthCalendar(ДругойПользователь,,,-1)>>

ДругойПользователь
<< <  2024 / 10 >  >>
Пн Вт Ср Чт Пт Сб Вс
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      


Календарь для пользователя КакойТоПользователь на декабрь текущего года:

Разметка

Результат

<<MonthCalendar(КакойТоПользователь,,12)>>

КакойТоПользователь
<< <  2024 / 12 >  >>
Пн Вт Ср Чт Пт Сб Вс
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31          


Календарь для текужей страницы, декабрь этого года:

Разметка

Результат

<<MonthCalendar(,,12)>>

<< <  2023 / 5 >  >>
Пн Вт Ср Чт Пт Сб Вс
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        


Календарь на декабрь 2001 года:

Разметка

Результат

<<MonthCalendar(,2001,12)>>

<< <  2000 / 5 >  >>
Пн Вт Ср Чт Пт Сб Вс
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        


Календарь на месяц, идущий через один после декабря 2001 год (малопрактично, но возможно)

Разметка

Результат

<<MonthCalendar(,2001,12,+2)>>

<< <  2000 / 7 >  >>
Пн Вт Ср Чт Пт Сб Вс
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31            

Календарь на 2002 год (каждый месяц выровнен по высоте в 6 строк):

Разметка:

||||||||<bgcolor="#ffffcc"> '''2002 год'''                                                              ||
|| <<MonthCalendar(,2002,1,,,1)>>  || <<MonthCalendar(,2002,2,,,1)>>  ||<<MonthCalendar(,2002,3,,,1)>>  ||
|| <<MonthCalendar(,2002,4,,,1)>>  || <<MonthCalendar(,2002,5,,,1)>>  ||<<MonthCalendar(,2002,6,,,1)>>  ||
|| <<MonthCalendar(,2002,7,,,1)>>  || <<MonthCalendar(,2002,8,,,1)>>  ||<<MonthCalendar(,2002,9,,,1)>>  ||
|| <<MonthCalendar(,2002,10,,,1)>> || <<MonthCalendar(,2002,11,,,1)>> ||<<MonthCalendar(,2002,12,,,1)>> ||

Результат:

2002 год

<< <  2000 / 6 >  >>
Пн Вт Ср Чт Пт Сб Вс
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30    
             

<< <  2000 / 7 >  >>
Пн Вт Ср Чт Пт Сб Вс
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31            

<< <  2000 / 8 >  >>
Пн Вт Ср Чт Пт Сб Вс
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      
             

<< <  2000 / 9 >  >>
Пн Вт Ср Чт Пт Сб Вс
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30  
             

<< <  2000 / 10 >  >>
Пн Вт Ср Чт Пт Сб Вс
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31          

<< <  2000 / 11 >  >>
Пн Вт Ср Чт Пт Сб Вс
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30      
             

<< <  2000 / 12 >  >>
Пн Вт Ср Чт Пт Сб Вс
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
             

<< <  2001 / 1 >  >>
Пн Вт Ср Чт Пт Сб Вс
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        
             

<< <  2001 / 2 >  >>
Пн Вт Ср Чт Пт Сб Вс
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28        
             

<< <  2001 / 3 >  >>
Пн Вт Ср Чт Пт Сб Вс
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  
             

<< <  2001 / 4 >  >>
Пн Вт Ср Чт Пт Сб Вс
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30            

<< <  2001 / 5 >  >>
Пн Вт Ср Чт Пт Сб Вс
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      
             


Календарь для страниц МояСтраница, Пользователь1, Пользователь2:

Разметка

Результат

<<MonthCalendar(МояСтраница*Пользователь1*Пользователь2)>>

МояСтраница*Пользователь1*Пользователь2
<< <  2024 / 11 >  >>
Пн Вт Ср Чт Пт Сб Вс
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30  


Календари вложенных страниц:

Разметка

Результат

<<MonthCalendar(МоёИмя/ЛичныеДела)>>

МоёИмя/ЛичныеДела
<< <  2024 / 11 >  >>
Пн Вт Ср Чт Пт Сб Вс
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30  

<<MonthCalendar(МоёИмя/РабочиеДела)>>

МоёИмя/РабочиеДела
<< <  2024 / 11 >  >>
Пн Вт Ср Чт Пт Сб Вс
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30  

<<MonthCalendar(МоёИмя/ЛичныеДела*МоёИмя/РабочиеДела)>>

МоёИмя/ЛичныеДела*МоёИмя/РабочиеДела
<< <  2024 / 11 >  >>
Пн Вт Ср Чт Пт Сб Вс
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30  


Годовой календарь:

Разметка

Результат

<<MonthCalendar(СобытияЗаГод,,,+1,,1,1)>>

СобытияЗаГод
<< <  2024 / 12 >  >>
Пн Вт Ср Чт Пт Сб Вс
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31          

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


В этом примере для создания новых страниц будет использоваться шаблон ШаблонСобытиеКалендаря:

Разметка

Результат

<<MonthCalendar(,,,,,,,ШаблонСобытиеКалендаря)>>

<< <  2023 / 4 >  >>
Пн Вт Ср Чт Пт Сб Вс
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

см. также: ПомощьПоМакроКомандам.