MonthCalendar

This macro is for those who want to use MoinMoin as a Personal Information Manager and need a calendar wiki integration.

Usage

<<MonthCalendar(BasePage,year,month,monthoffset,monthoffset2,height6,anniversary,template)>>

Parameter name

Possible values

Default value

Description

BasePage

Page name

current page

Base page for calendar entry pages.

year

Integer number

current year

Year to display on calendar.

month

1..12

current month

Base month using for displaying calendar. See also monthoffset, monthoffset2.

monthoffset

Integer number

0

Offset added to month for displaying.

monthoffset2

Integer number

0

Offset added to month for navigation links (previous/next month/year).

height6

0 or 1

0

When this parameter set to 1, calendar aligned at height of 6 lines.

anniversary

0 or 1

0

Year calendar (no year in page links).

template

Page name

Template page used for calendar event pages creation.

Each parameter can be empty and then defaults to currentpage or currentdate or monthoffset=0

When an event is entered on a date, that date will be highlighted on the calendar, which you can also mouse over and get a javascript pop-up. To get a summary in that pop-up, put the summary in a heading 1 case, like = Big Birthday Today! =

Examples

The simplest version looks like this:

Markup

Result

<<MonthCalendar>>

<< <  2024 / 11 >  >>
Lun Mar Mer Jeu Ven Sam Dim
        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  


The previous month's calendar for page "OtherUser" looks like that:

Markup

Result

<<MonthCalendar(OtherUser,,,-1)>>

OtherUser
<< <  2024 / 10 >  >>
Lun Mar Mer Jeu Ven Sam Dim
  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      


Calendar of Page SampleUser, this year's december:

Markup

Result

<<MonthCalendar(SampleUser,,12)>>

SampleUser
<< <  2024 / 12 >  >>
Lun Mar Mer Jeu Ven Sam Dim
            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          


Calendar of current Page, this year's december:

Markup

Result

<<MonthCalendar(,,12)>>

<< <  2024 / 12 >  >>
Lun Mar Mer Jeu Ven Sam Dim
            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          


Calendar of December, 2001:

Markup

Result

<<MonthCalendar(,2001,12)>>

<< <  2001 / 12 >  >>
Lun Mar Mer Jeu Ven Sam Dim
          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            


Calendar of the month two months after December, 2001 (maybe doesn't make much sense, but is possible)

Markup

Result

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

<< <  2002 / 2 >  >>
Lun Mar Mer Jeu Ven Sam Dim
        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      

Calendar of year 2002 (every month padded to height of 6):

Markup:

||||||||<bgcolor="#ffffcc"> '''Year 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)>> ||

Result:

Year 2002

<< <  2002 / 1 >  >>
Lun Mar Mer Jeu Ven Sam Dim
  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 >  >>
Lun Mar Mer Jeu Ven Sam Dim
        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 >  >>
Lun Mar Mer Jeu Ven Sam Dim
        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 >  >>
Lun Mar Mer Jeu Ven Sam Dim
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 >  >>
Lun Mar Mer Jeu Ven Sam Dim
    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 >  >>
Lun Mar Mer Jeu Ven Sam Dim
          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 >  >>
Lun Mar Mer Jeu Ven Sam Dim
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 >  >>
Lun Mar Mer Jeu Ven Sam Dim
      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 >  >>
Lun Mar Mer Jeu Ven Sam Dim
            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 >  >>
Lun Mar Mer Jeu Ven Sam Dim
  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 >  >>
Lun Mar Mer Jeu Ven Sam Dim
        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 >  >>
Lun Mar Mer Jeu Ven Sam Dim
            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          


Current calendar of me, also showing entries of A and B:

Markup

Result

<<MonthCalendar(MyPage*TestUserA*TestUserB)>>

MyPage*TestUserA*TestUserB
<< <  2025 / 11 >  >>
Lun Mar Mer Jeu Ven Sam Dim
          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


SubPage calendars:

Markup

Result

<<MonthCalendar(MyName/CalPrivate)>>

MyName/CalPrivate
<< <  2024 / 11 >  >>
Lun Mar Mer Jeu Ven Sam Dim
        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(MyName/CalBusiness)>>

MyName/CalBusiness
<< <  2024 / 11 >  >>
Lun Mar Mer Jeu Ven Sam Dim
        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(MyName/CalBusiness*MyName/CalPrivate)>>

MyName/CalBusiness*MyName/CalPrivate
<< <  2024 / 11 >  >>
Lun Mar Mer Jeu Ven Sam Dim
        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  


Anniversary Calendars: (no year data)

Markup

Result

<<MonthCalendar(Yearly,,,+1,,1,1)>>

Yearly
<< <  2024 / 12 >  >>
Lun Mar Mer Jeu Ven Sam Dim
            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          

This creates calendars of the format Yearly/MM-DD. By leaving out the year, you can set birthdays, and anniversaries in this calendar and not have to re-enter each year.


This creates a calendar which uses MonthCalendarTemplate for directly editing nonexisting day pages:

Markup

Result

<<MonthCalendar(,,,,,,,MonthCalendarTemplate)>>

<< <  2024 / 11 >  >>
Lun Mar Mer Jeu Ven Sam Dim
        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  

see also: HelpOnMacros