ikiwiki/doc/plugins/contrib/monthcalendar.mdwn

128 lines
2.8 KiB
Plaintext
Raw Normal View History

[[!meta author="spalax"]]
[[!template id=plugin name=monthcalendar author="[[Louis|spalax]]"]]
2013-10-22 14:58:44 +02:00
2012-06-08 01:47:45 +02:00
# Monthcalendar
This plugin displays a calendar, containing in each of its day the list of links of pages published on this day. It can be used, for example, to display archives of blog posts, or to announce events.
The difference between this plugin and the [[plugins/calendar]] plugin is that the calendar displayed by this plugin is a big one, containing the full title of every page indexed in it.
2012-06-08 01:47:45 +02:00
## Usage
### Directive
\[[!monthcalendar type="month" year="2012" month="06" pages="events/*"]]
### Automation
By using the following line in template `calendarmonth.tmpl`, you can have `ikiwiki-calendar` using this plugin to display monthly archives.
\[[!monthcalendar type="month" year="<TMPL_VAR YEAR>" month="<TMPL_VAR MONTH>" pages="<TMPL_VAR PAGESPEC>"]]
## CSS
Here is an example of CSS properly rendering the calendar produced by this
plugin.
[[!toggle id=css text="CSS"]]
[[!toggleable id=css text="""
/* Calendar */
.monthcalendar
{
color:#aaa;
/* font-size:18pt; */
margin-top:1em;
margin-bottom:1em;
width: 100%;
}
.monthcalendar table,
.monthcalendar td,
.monthcalendar th
{
border: 1px solid #ccc;
}
#content .monthcalendar td
{
padding: 0;
position: relative;
}
.monthcalendar td div
{
min-height: 10ex;
height: 100%;
position: relative;
}
.monthcalendar th
{
vertical-align: middle;
}
.monthcalendar td ul
{
padding-left: 0.5em;
list-style: dot;
list-style-position: inside;
text-align: left;
font-size: 8pt;
position: relative;
z-index: 10;
font-weight: bold;
}
table.monthcalendar
{
table-layout: fixed;
}
.monthcalendar .selflink
{
color:#444444;
}
.monthcalendar-day-head {
text-transform:capitalize;
}
.monthcalendar-head {
text-transform:capitalize;
}
.monthcalendar-daynumber
{
float: left;
position: absolute;
display: block;
font-size: 7ex;
color: #ccc;
line-height: 100%;
z-index: 5;
padding-top: 0.3ex;
text-align: right;
width: 1.8em;
}
/* List of pages */
.monthcalendar-pagelist {
display: flex;
flex-direction: column;
}
.monthcalendar-item {
opacity: 0;
height: 0;
}
.monthcalendar-item:target {
opacity: 1;
height: initial;
}
"""]]
2012-06-08 01:47:45 +02:00
## Code
Code and documentation can be found here : [[https://atelier.gresille.org/projects/gresille-ikiwiki/wiki/Monthcalendar]].