/MonthCalendar

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>>	<< < 2025 / 7 > >> Mo Di Mi Do Fr Sa So 1 2 3 4 5 6 7 8 9 10 11 1213 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
The previous month's calendar for page "OtherUser" looks like that:
Markup	Result
<<MonthCalendar(OtherUser,,,-1)>>	OtherUser[1]<< < 2025 / 6 > >> Mo Di Mi Do Fr Sa So 1 2 3 4 5 6 7 8 910 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
Calendar of Page SampleUser, this year's december:
Markup	Result
<<MonthCalendar(SampleUser,,12)>>	SampleUser[1]<< < 2025 / 12 > >> Mo Di Mi Do Fr Sa So 1 2 3 4 5 6 7 8 9 10 11 12 1314 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)>>	<< < 2025 / 12 > >> Mo Di Mi Do Fr Sa So 1 2 3 4 5 6 7 8 9 10 11 12 1314 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 > >> Mo Di Mi Do Fr Sa So 1 2 3 4 5 6 7 8 910 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 > >> Mo Di Mi Do Fr Sa So 1 2 3 4 5 6 7 8 9 1011 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 > >> Mo Di Mi Do Fr Sa So 1 2 3 4 5 6 7 8 9 10 11 1213 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31	<< < 2002 / 2 > >> Mo Di Mi Do Fr Sa So 1 2 3 4 5 6 7 8 9 1011 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28	<< < 2002 / 3 > >> Mo Di Mi Do Fr Sa So 1 2 3 4 5 6 7 8 9 1011 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
<< < 2002 / 4 > >> Mo Di Mi Do Fr Sa So 1 2 3 4 5 6 7 8 9 10 11 12 1314 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30	<< < 2002 / 5 > >> Mo Di Mi Do Fr Sa So 1 2 3 4 5 6 7 8 9 10 11 1213 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31	<< < 2002 / 6 > >> Mo Di Mi Do Fr Sa So 1 2 3 4 5 6 7 8 9 1011 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
<< < 2002 / 7 > >> Mo Di Mi Do Fr Sa So 1 2 3 4 5 6 7 8 9 10 11 12 1314 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31	<< < 2002 / 8 > >> Mo Di Mi Do Fr Sa So 1 2 3 4 5 6 7 8 9 10 1112 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31	<< < 2002 / 9 > >> Mo Di Mi Do Fr Sa So 1 2 3 4 5 6 7 8 910 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
<< < 2002 / 10 > >> Mo Di Mi Do Fr Sa So 1 2 3 4 5 6 7 8 9 10 11 1213 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31	<< < 2002 / 11 > >> Mo Di Mi Do Fr Sa So 1 2 3 4 5 6 7 8 9 1011 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30	<< < 2002 / 12 > >> Mo Di Mi Do Fr Sa So 1 2 3 4 5 6 7 8 910 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)>>	My[1]Pa[2]ge[3]*TestUserA[4]*TestUserB[5]<< < 2025 / 7 > >> Mo Di Mi Do Fr Sa So 1 2 3 4 5 6 7 8 9 10 11 1213 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
SubPage calendars:
Markup	Result
<<MonthCalendar(MyName/CalPrivate)>>	MyName/CalPrivate[1]<< < 2025 / 7 > >> Mo Di Mi Do Fr Sa So 1 2 3 4 5 6 7 8 9 10 11 1213 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
<<MonthCalendar(MyName/CalBusiness)>>	MyName/CalBusiness[1]<< < 2025 / 7 > >> Mo Di Mi Do Fr Sa So 1 2 3 4 5 6 7 8 9 10 11 1213 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
<<MonthCalendar(MyName/CalBusiness*MyName/CalPrivate)>>	MyName/Ca[1]lBusiness[2]*MyName/CalPrivate[3]<< < 2025 / 7 > >> Mo Di Mi Do Fr Sa So 1 2 3 4 5 6 7 8 9 10 11 1213 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Anniversary Calendars: (no year data)
Markup	Result
<<MonthCalendar(Yearly,,,+1,,1,1)>>	Yearly[1]<< < 2025 / 8 > >> Mo Di Mi Do Fr Sa So 1 2 3 4 5 6 7 8 9 1011 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)>>	<< < 2025 / 7 > >> Mo Di Mi Do Fr Sa So 1 2 3 4 5 6 7 8 9 10 11 1213 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

see also: HelpOnMacros