Difference between revisions of "Test calendar"
Line 14: | Line 14: | ||
node 2007-October-Event_C {} | node 2007-October-Event_C {} | ||
− | node Event {type tpl} | + | node Event {type tpl} |
+ | node Event_template {type editsample} | ||
edge 2007-September-Event_A Event {type incl} | edge 2007-September-Event_A Event {type incl} | ||
edge 2007-October-Event_B Event {type incl} | edge 2007-October-Event_B Event {type incl} | ||
edge 2007-October-Event_C Event {type incl} | edge 2007-October-Event_C Event {type incl} | ||
+ | edge Event_template 2007-September-Event_A {type edit} | ||
+ | edge Event_template 2007-October-Event_B {type edit} | ||
+ | edge Event_template 2007-October-Event_C {type edit} | ||
edge Current_events Current_events_September_2007 {type incl} | edge Current_events Current_events_September_2007 {type incl} | ||
Line 34: | Line 38: | ||
node Calendar/MonthStartTue {type tpl} | node Calendar/MonthStartTue {type tpl} | ||
− | nodetype tpl {color yellow } | + | nodetype tpl {color yellow } |
− | nodetype cal {color lightblue } | + | nodetype cal {color lightblue } |
− | nodetype * | + | nodetype editsample {color #ffeeee } |
+ | nodetype * {color #ffdddd bordercolor darkgray} | ||
edge CalendarSingle Calendar/MonthStartMon {type incl} | edge CalendarSingle Calendar/MonthStartMon {type incl} | ||
Line 43: | Line 48: | ||
edgetype incl {color darkgray} | edgetype incl {color darkgray} | ||
edgetype dpl {color red thickness 4} | edgetype dpl {color red thickness 4} | ||
+ | edgetype edit {linestyle dotted color blue} | ||
}} | }} |
Revision as of 18:45, 30 September 2007
Contents
Installation
This is a calendaring application based on DPL functionality. It is very flexible because it is based on templates which you can modify and adapt to your needs.
Architecture
{{#wgraph: svg| thumb=90 |
node Current_events {type cal} node Current_events_September_2007 {type cal} node Current_events_October_2007 {type cal}
node 2007-September-Event_A {} node 2007-October-Event_B {} node 2007-October-Event_C {}
node Event {type tpl} node Event_template {type editsample} edge 2007-September-Event_A Event {type incl} edge 2007-October-Event_B Event {type incl} edge 2007-October-Event_C Event {type incl} edge Event_template 2007-September-Event_A {type edit} edge Event_template 2007-October-Event_B {type edit} edge Event_template 2007-October-Event_C {type edit}
edge Current_events Current_events_September_2007 {type incl} edge Current_events_September_2007 Calendar_month {type incl} edge Current_events Current_events_October_2007 {type incl} edge Current_events_October_2007 Calendar_month {type incl}
node CalendarSingle {type tpl} node Calendar_month {type tpl} edge Calendar_month CalendarSingle {type incl} edge Calendar_month 2007-September-Event_A {type dpl} edge Calendar_month 2007-October-Event_B {type dpl} edge Calendar_month 2007-October-Event_C {type dpl}
node Calendar/MonthStartMon {type tpl} node Calendar/MonthStartTue {type tpl}
nodetype tpl {color yellow } nodetype cal {color lightblue } nodetype editsample {color #ffeeee } nodetype * {color #ffdddd bordercolor darkgray}
edge CalendarSingle Calendar/MonthStartMon {type incl} edge CalendarSingle Calendar/MonthStartTue {type incl}
edgetype incl {color darkgray} edgetype dpl {color red thickness 4} edgetype edit {linestyle dotted color blue}
}}
How to use it for your websites:
Download the following templates, and create them into your wiki
These templates are needed to know how to display properly the month calendar. Months are categorized by the day of the week of the first day:
- Template:Calendar/MonthStartMon // all months that start on a Monday
- Template:Calendar/MonthStartTue // etc...
- Template:Calendar/MonthStartWed
- Template:Calendar/MonthStartThu
- Template:Calendar/MonthStartFri
- Template:Calendar/MonthStartSat
- Template:Calendar/MonthStartSun
- Template:! //a template used for special for cell separation
This template calls the proper template above, with a parameter input for each day:
Download the following templates, and customize them
This is the template that needs to be called to create each month's page: Template:calendar month. Call it this way:
{{calendar month|year=YYYY|month=MM|basepage=your base page name}}
This is the template that calculates the parameter for each day for above template (based on DPL):
The next templates are not mandatory, they were designed to ease the creation of an event, although this can be done by other means:
- Event template
- Template:Event (used by 'Event Template')
Download additional extensions
Download the following extensions:
- parserfunctions from MW
- inputbox from MW
- DPL extension from this site.
Create the base page
Now, create the base page where the current month calendar will be created (like "Current events"), and insert below code in it:
__NOTOC__ {{:Test calendar {{#time: F Y}}}}
The name of your basepage is important as it must be used as aprefix for each month´s calendar page later. Our base page is named "Test calendar" and as you see its only purpose is to call the specific page for the current month. If you call your basepage 'Current events' then the above example has to changed to
__NOTOC__ {{:Current events {{#time: F Y}}}}
Create a page for each month
Finally, create one page per month with the format "basepage Month year" (example: "Current events April 2007"), insert below code and make sure to replace:
- YYYY by the year (ex: 2007)
- mm by the month (ex:06)
- pageXYZ by the base page name (example: "Current events")
{{calendar month|year=YYYY|month=mm|basepage=pageXYZ}}
Note: In this wiki we use "Test calendar" as basepage, so the articles are called "Test calendar September 2007" and so on.
Customizing the event pages and event presentation
To customize the type of page the calendar application needs to look for, just modify the titlematch parameter in the Template:Calendar link template, as well as in the DPL in the above Template:calendar month template.
To customize the list of events that are displayed below each calendar, take a close look in the DPL manual at the include parameter (see here). In our example in template Template:calendar month, we have:
#Summary,#Participants
which means take the content of summary and participants sections.
We could modify the name of sections, the number of sections or even take the parameters of a template inside the event page. Again, see the DPL manual.