~funderscoreblog cgit wikiget in touch

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

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

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

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

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

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

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

Описание

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

имя страницы

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

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

год

целое число

текущий год

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

месяц

1..12

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

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

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

целое число

0

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

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

целое число

0

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

высота6

0 или 1

0

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

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

0 или 1

0

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

шаблон

имя страницы

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

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

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

Примеры

Отображение календаря на один месяц


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

Разметка

Результат

<<MonthCalendar>>

<< <  2024 / 11 >  >>
Mon Tue Wed Thu Fri Sat Sun
        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 >  >>
Mon Tue Wed Thu Fri Sat Sun
  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 >  >>
Mon Tue Wed Thu Fri Sat Sun
            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 >  >>
Mon Tue Wed Thu Fri Sat Sun
            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)>>

<< <  2001 / 12 >  >>
Mon Tue Wed Thu Fri Sat Sun
          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)>>

<< <  2002 / 2 >  >>
Mon Tue Wed Thu Fri Sat Sun
        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      

Календарь на год

Календарь на 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 год

<< <  2002 / 1 >  >>
Mon Tue Wed Thu Fri Sat Sun
  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 / 2 >  >>
Mon Tue Wed Thu Fri Sat Sun
        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      
             

<< <  2002 / 3 >  >>
Mon Tue Wed Thu Fri Sat Sun
        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 / 4 >  >>
Mon Tue Wed Thu Fri Sat Sun
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          
             

<< <  2002 / 5 >  >>
Mon Tue Wed Thu Fri Sat Sun
    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 >  >>
Mon Tue Wed Thu Fri Sat Sun
          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
             

<< <  2002 / 7 >  >>
Mon Tue Wed Thu Fri Sat Sun
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 / 8 >  >>
Mon Tue Wed Thu Fri Sat Sun
      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 / 9 >  >>
Mon Tue Wed Thu Fri Sat Sun
            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            

<< <  2002 / 10 >  >>
Mon Tue Wed Thu Fri Sat Sun
  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 / 11 >  >>
Mon Tue Wed Thu Fri Sat Sun
        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  
             

<< <  2002 / 12 >  >>
Mon Tue Wed Thu Fri Sat Sun
            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 >  >>
Mon Tue Wed Thu Fri Sat Sun
        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 >  >>
Mon Tue Wed Thu Fri Sat Sun
        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 >  >>
Mon Tue Wed Thu Fri Sat Sun
        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 >  >>
Mon Tue Wed Thu Fri Sat Sun
        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 >  >>
Mon Tue Wed Thu Fri Sat Sun
            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(,,,,,,,ШаблонСобытиеКалендаря)>>

<< <  2024 / 11 >  >>
Mon Tue Wed Thu Fri Sat Sun
        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  

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