• My Pages
  • Comments
  • Add Link
  • Subscribe
  • Subscribe User
  • Edit (GUI)
  • Edit (Text)
  • Rename Page
  • Copy Page
  • Load Page
  • Save Page
  • Delete Page
  • Attachments
  • Check Spelling
  • Diffs
  • Info
  • Revert to this revision
  • XML
  • Render as Docbook
  • Print View
  • Raw Text
  • Delete Cache
  • Like Pages
  • Local Site Map
  • Remove Spam
  • Package Pages
  • Sync Pages

    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

    Show Single Month

    The simplest version looks like this:

    Markup

    Result

    <<MonthCalendar>>

    << <  2024 / 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          


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

    Markup

    Result

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

    OtherUser
    << <  2024 / 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


    Calendar of Page SampleUser, this year's December:

    Markup

    Result

    <<MonthCalendar(SampleUser,,12)>>

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


    Calendar of current Page, this year's December:

    Markup

    Result

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


    Calendar of December, 2001:

    Markup

    Result

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


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

    Entire Year Calendar

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

    Current Month Calendar

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

    Markup

    Result

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

    MyPage*TestUserA*TestUserB
    << <  2024 / 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          

    SubPage Calendar

    Markup

    Result

    <<MonthCalendar(MyName/CalPrivate)>>

    MyName/CalPrivate
    << <  2024 / 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          

    <<MonthCalendar(MyName/CalBusiness)>>

    MyName/CalBusiness
    << <  2024 / 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          

    <<MonthCalendar(MyName/CalBusiness*MyName/CalPrivate)>>

    MyName/CalBusiness*MyName/CalPrivate
    << <  2024 / 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          

    Anniversary Calendar

    No year data.

    Markup

    Result

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

    Yearly
    << <  2024 / 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    
                 

    Using a Template

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

    see also: HelpOnMacros