Skip to main content.
Navigation:
DENX
>
TWiki
>
CalendarPlugin
Translations:
Edit
|
Attach
|
Raw
|
Ref-By
|
Printable
|
More
TWiki
Sections of this site:
DENX Home
|
DULG
|
ELDK-5
|
Know
|
Training
|
U-Boot
|
U-Bootdoc
Topics
TWiki Home
Welcome
Register
Changes
Topics
Index
Search
Go
List of pages in TWiki
Search
%TOC% ---- ---++ Calendar Plugin (version 1.010) _[Development discussions in %TOPIC%Dev]_ The CalendarPlugin handles the new tag *%<nop>CALENDAR%* that inserts a monthly calendar in the page. Moreover, the Calendar highlights dates corresponding to a list of Events. ---+++ Usage example <table border=1 width="80%"> <tr><th>You type:</th><th>You get:</th><th>If correctly installed:</th></tr> <tr><td> A list of Events is just a bullet list like this: * 2 Feb - Andrea's birthday * 7 Mar - Nicoletta's birthday * 29 May 1996 - Maria Teresa is born! * 29 Sep 1998 - Davide is born! %<nop>CALENDAR{month="2" year="2002" bgcolor="cyan"}% %<nop>CALENDAR{month="3" year="2002" showweekdayheaders="1"}% </td><td align=center> <table border="0" cellpadding="0" cellspacing="0"> <tr valign="top" align="left"> <td align="left" valign="top" bgcolor="black"><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td colspan=7 bgcolor="pink"><center><font size=+2>February 2002</font></center></td></tr> <TR> <td width="14" valign="center" align="center" bgcolor="lightgrey" bordercolor="black"> </td> <td width="14" valign="center" align="center" bgcolor="cyan" bordercolor="black"> </td> <td width="14" valign="center" align="center" bgcolor="cyan" bordercolor="black"> </td> <td width="14" valign="center" align="center" bgcolor="cyan" bordercolor="black"> </td> <td width="14" valign="center" align="center" bgcolor="cyan" bordercolor="black"> </td> <td width="14" valign="center" align="center" bgcolor="cyan" bordercolor="black">1 </td> <td width="14" valign="center" align="center" bgcolor="lightgrey" bordercolor="black">2 <br> Andrea's birthday </td> </tr> <TR> <td width="14" valign="center" align="center" bgcolor="lightgrey" bordercolor="black">3 </td> <td width="14" valign="center" align="center" bgcolor="cyan" bordercolor="black">4 </td> <td width="14" valign="center" align="center" bgcolor="cyan" bordercolor="black">5 </td> <td width="14" valign="center" align="center" bgcolor="cyan" bordercolor="black">6 </td> <td width="14" valign="center" align="center" bgcolor="cyan" bordercolor="black">7 </td> <td width="14" valign="center" align="center" bgcolor="cyan" bordercolor="black">8 </td> <td width="14" valign="center" align="center" bgcolor="lightgrey" bordercolor="black">9 </td> </tr> <TR> <td width="14" valign="center" align="center" bgcolor="lightgrey" bordercolor="black">10 </td> <td width="14" valign="center" align="center" bgcolor="cyan" bordercolor="black">11 </td> <td width="14" valign="center" align="center" bgcolor="cyan" bordercolor="black">12 </td> <td width="14" valign="center" align="center" bgcolor="cyan" bordercolor="black">13 </td> <td width="14" valign="center" align="center" bgcolor="cyan" bordercolor="black">14 </td> <td width="14" valign="center" align="center" bgcolor="cyan" bordercolor="black">15 </td> <td width="14" valign="center" align="center" bgcolor="lightgrey" bordercolor="black">16 </td> </tr> <TR> <td width="14" valign="center" align="center" bgcolor="lightgrey" bordercolor="black">17 </td> <td width="14" valign="center" align="center" bgcolor="cyan" bordercolor="black">18 </td> <td width="14" valign="center" align="center" bgcolor="cyan" bordercolor="black">19 </td> <td width="14" valign="center" align="center" bgcolor="cyan" bordercolor="black">20 </td> <td width="14" valign="center" align="center" bgcolor="cyan" bordercolor="black">21 </td> <td width="14" valign="center" align="center" bgcolor="cyan" bordercolor="black">22 </td> <td width="14" valign="center" align="center" bgcolor="lightgrey" bordercolor="black">23 </td> </tr> <TR> <td width="14" valign="center" align="center" bgcolor="lightgrey" bordercolor="black">24 </td> <td width="14" valign="center" align="center" bgcolor="cyan" bordercolor="black">25 </td> <td width="14" valign="center" align="center" bgcolor="cyan" bordercolor="black">26 </td> <td width="14" valign="center" align="center" bgcolor="cyan" bordercolor="black">27 </td> <td width="14" valign="center" align="center" bgcolor="cyan" bordercolor="black">28 </td> <td width="14" valign="center" align="center" bgcolor="cyan" bordercolor="black"> </td> <td width="14" valign="center" align="center" bgcolor="lightgrey" bordercolor="black"> </td> </tr> </table> </td> </tr> </table> <p /> <table border="0" cellpadding="0" cellspacing="0"> <tr valign="top" align="left"> <td align="left" valign="top" bgcolor="black"><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td colspan=7 bgcolor="pink"><center><font size=+2>March 2002</font></center></td></tr> <tr> <th bgcolor="white">Sunday</th> <th bgcolor="white">Monday</th> <th bgcolor="white">Tuesday</th> <th bgcolor="white">Wednesday</th> <th bgcolor="white">Thursday</th> <th bgcolor="white">Friday</th> <th bgcolor="white">Saturday</th> </tr> <TR> <td width="14" valign="center" align="center" bgcolor="lightgrey" bordercolor="black"> </td> <td width="14" valign="center" align="center" bgcolor="white" bordercolor="black"> </td> <td width="14" valign="center" align="center" bgcolor="white" bordercolor="black"> </td> <td width="14" valign="center" align="center" bgcolor="white" bordercolor="black"> </td> <td width="14" valign="center" align="center" bgcolor="white" bordercolor="black"> </td> <td width="14" valign="center" align="center" bgcolor="white" bordercolor="black">1 </td> <td width="14" valign="center" align="center" bgcolor="lightgrey" bordercolor="black">2 </td> </tr> <TR> <td width="14" valign="center" align="center" bgcolor="lightgrey" bordercolor="black">3 </td> <td width="14" valign="center" align="center" bgcolor="white" bordercolor="black">4 </td> <td width="14" valign="center" align="center" bgcolor="white" bordercolor="black">5 </td> <td width="14" valign="center" align="center" bgcolor="white" bordercolor="black">6 </td> <td width="14" valign="center" align="center" bgcolor="white" bordercolor="black">7 <br> Nicoletta's birthday </td> <td width="14" valign="center" align="center" bgcolor="white" bordercolor="black">8 </td> <td width="14" valign="center" align="center" bgcolor="lightgrey" bordercolor="black">9 </td> </tr> <TR> <td width="14" valign="center" align="center" bgcolor="lightgrey" bordercolor="black">10 </td> <td width="14" valign="center" align="center" bgcolor="white" bordercolor="black">11 </td> <td width="14" valign="center" align="center" bgcolor="white" bordercolor="black">12 </td> <td width="14" valign="center" align="center" bgcolor="white" bordercolor="black">13 </td> <td width="14" valign="center" align="center" bgcolor="white" bordercolor="black">14 </td> <td width="14" valign="center" align="center" bgcolor="white" bordercolor="black">15 </td> <td width="14" valign="center" align="center" bgcolor="lightgrey" bordercolor="black">16 </td> </tr> <TR> <td width="14" valign="center" align="center" bgcolor="lightgrey" bordercolor="black">17 </td> <td width="14" valign="center" align="center" bgcolor="white" bordercolor="black">18 </td> <td width="14" valign="center" align="center" bgcolor="white" bordercolor="black">19 </td> <td width="14" valign="center" align="center" bgcolor="white" bordercolor="black">20 </td> <td width="14" valign="center" align="center" bgcolor="white" bordercolor="black">21 </td> <td width="14" valign="center" align="center" bgcolor="white" bordercolor="black">22 </td> <td width="14" valign="center" align="center" bgcolor="lightgrey" bordercolor="black">23 </td> </tr> <TR> <td width="14" valign="center" align="center" bgcolor="lightgrey" bordercolor="black">24 </td> <td width="14" valign="center" align="center" bgcolor="white" bordercolor="black">25 </td> <td width="14" valign="center" align="center" bgcolor="white" bordercolor="black">26 </td> <td width="14" valign="center" align="center" bgcolor="white" bordercolor="black">27 </td> <td width="14" valign="center" align="center" bgcolor="white" bordercolor="black">28 </td> <td width="14" valign="center" align="center" bgcolor="white" bordercolor="black">29 </td> <td width="14" valign="center" align="center" bgcolor="lightgrey" bordercolor="black">30 </td> </tr> <TR> <td width="14" valign="center" align="center" bgcolor="lightgrey" bordercolor="black">31 </td> <td width="14" valign="center" align="center" bgcolor="white" bordercolor="black"> </td> <td width="14" valign="center" align="center" bgcolor="white" bordercolor="black"> </td> <td width="14" valign="center" align="center" bgcolor="white" bordercolor="black"> </td> <td width="14" valign="center" align="center" bgcolor="white" bordercolor="black"> </td> <td width="14" valign="center" align="center" bgcolor="white" bordercolor="black"> </td> <td width="14" valign="center" align="center" bgcolor="lightgrey" bordercolor="black"> </td> </tr> </table> </td> </tr> </table> </td><td align=center> %CALENDAR{month="2" year="2002" bgcolor="cyan"}% %CALENDAR{month="3" year="2002" showweekdayheaders="1"}% </td></tr> </table> ---+++ Syntax | *You type* | *you get* | | %<nop>CALENDAR% | a monthly calendar for the current month/year, with events taken from the current topic | | %<nop>CALENDAR{<attributes>}% | is the full syntax | ---++++ Attributes recognized | *attribute* | *meaning* | *default* | | year="yyyy" | the year | current year | | year="+yy" ("+yy")| relative year | current year | | month="mm" | the month | current month | | month="+mm" ("-mm")| relative month | current month | | bgcolor="color" | the bgcolor of the header | the web bgcolor | | topic="TopicName" | topic containig events | the topic containing the tag | | web="Webname" | web containing the event topic | the current web | | lang="language" | language | "English" | | daynames="headings"| custom day names | "Monday¦Tuesday¦Wednesday¦Thursday¦Friday¦Saturday¦Sunday" | | format | how to highlight a date | see above | | and all attributes of HTML::CalendarMonthSimple ||| ---++++ Available Languages * English * Français * Deutsch * Español * Português * Nederlands * Italiano * Norsk * Svenska * Dansk * suomi * Magyar * Polski ---++++ Event Syntax | | *Syntax* | *Example* | | *Normal Event* | <3 spaces>* ==dd MMM yyyy== - description | 09 Dec 2002 - Expo | | *Interval Event* | <3 spaces>* ==dd MMM yyyy== - ==dd MMM yyyy== - description | 02 Feb 2002 - 04 Feb 2002 - Vacation | | *Yearly Event* | <3 spaces>* ==dd MMM== - description | 05 Jun - Every 5th of June | | *Yearly Event* | <3 spaces>* [ ==w== ¦ L] ==DDD MMM== - description | 2 Tue Mar - Every 2nd Tuesday of March<br/>L Mon May - The last Monday of May | | *Monthly Event* | <3 spaces>* ==w DDD== - description | 1 Fri - Every 1st Friday of the month | | *Monthly Event* | <3 spaces>* ==dd== - description | 14 - The 14th of every month | | *Weekly Event* | <3 spaces>* ==E DDD== - description | E Wed - Every Wednesday | | *Periodic Event* | <3 spaces>* ==En dd MMM yyyy== - description | E3 02 Dec 2002 - Every three days starting 02 Dec 2002 | | *Exception* | ==X { dd MMM yyyy, dd MMM yyyy - dd MMM yyyy }== | 1 Fri X { 01 Dec 2002, 06 Dec 2002 - 14 Dec 2002 } - Every first Friday except on the 01 Dec 2002 and between 06 Dec 2002 and 14 Dec 2002 | If an event falls in the selected month then the corresponding day is (by default): * highlighted (font size +2) * linked to the topic containing the event list * marked with an icon whose ALT string is the event's description I.e. ==format== is: <verbatim> <A HREF="%SCRIPTURLPATH%/view%SCRIPTSUFFIX%/$web/$topic"><FONT size="+2">$old</FONT> <IMG ALT="$description" SRC="%PUBURLPATH%/$installWeb/CalendarPlugin/exclam.gif"/></A> </verbatim> ---+++ Default settings * One line description, shown in the %TWIKIWEB%.TextFormattingRules topic: * Set SHORTDESCRIPTION = This plugin shows a monthly calendar with highlighted events. * How the cell content is formatted <verbatim> * Set FORMAT = $old <br> $description </verbatim> ---+++ Installation The plugin uses the ==HTML::CalendarMonthSimple== and ==Date::Calc== CPAN packages (see http://www.cpan.org). * Install ==Date::Calc== * Install ==HTML::CalendarMonthSimple== * Unzip the *%TOPIC%<nop>.zip* package in your TWiki installation directory * Change line 197 of <nop>CalendarMonthSimple.pm as follows to avoid an annoying log message. <pre> if ($self->year == $todayyear && $self->month == $todaymonth <font color=red>&& defined $thisday</font> && $thisday == $todaydate) </pre> If the installation is correct you should see two calendars near the Event list above. ---+++ Bugs * because the CALENDAR tag is expanded after the INCLUDE tag, an included ==%<nop>CALENDAR%== tag will look for events in the INCLUDING topic. This can be avoided if the ==topic="%<nop>TOPIC%"== attribute is always explicitly used. * During preview, a calendar with events in the same page shows events from the (old) saved page instead than from the current text ---+++ TODO * Document all options and format parameters (see the code) ---+++ Changes * V. 1.010: Main.DanBoitnott: Fixed variable conflict in timezone code * V. 1.009: Main.DanBoitnott: Added ability to have event topics in other webs * V. 1.008: * Main.AnthonPang: Added daynames attribute * Main.JensKloecker: Added lang attribute * Main.DanBoitnott: Added yearly, monthly, weekly, and periodic events and exceptions * V. 1.006: Main.DanBoitnott: Added monthly date support * V. 1.005: Main.AkimDemaille: handle date intervals (thanks!) * V. 1.004: uses only HTML::CalendarMonthSimple, ISO dates, all possible settings, fixed month bug * V. 1.003: introducing HTML::CalendarMonthSimple * V. 1.002: Main.ChristianSchultze: highlight today, relative month/year and debugging (thanks!) * V. 1.001: delayed load of used packages * V. 1.000: first release using only HTML::CalendarMonth ---+++ Plugin Info | Plugin Author: | %TWIKIWEB%.AndreaSterbini | | Plugin Version: | V. 1.010 | | CPAN Dependencies: | CPAN:HTML::CalendarMonthSimple, CPAN:Date::Calc | | Other Dependencies: | none | | Perl Version: | 5.000 and up | | Plugin Home: | http://TWiki.org/cgi-bin/view/Plugins/%TOPIC% | | Feedback: | http://TWiki.org/cgi-bin/view/Plugins/%TOPIC%Dev | -- %TWIKIWEB%.AndreaSterbini - 27 Feb 2001 <br> ---+ Important Note: As noted above, as of version V. 1.008 this plugin relies on an additional Perl module: Date::Calc. It is available on CPAN and should be installed on your system *before* you upgrade this plugin. If you are running Mandrake simply install the perl-Date-Calc RPM package. This probably holds for Redhat as well. -- Main.DanBoitnott - 09 May 2003