Download and install the plugin using the Plugin Manager using the following URL. Refer to Plugins on how to install plugins manually.
Old versions:
| Date | Version | Description |
|---|---|---|
| 04.08.2009 | 01 | First version. |
| 27.01.2010 | 02 | Internal DokuWiki links from time band added. |
Timeline plugin can be used to visualize the temporal data. Timeline plugin uses linear time scale with the one-day granularity. There are day, week, month time scales. The band is described by the time interval. Inside a band several subintervals can be emphasized. You can set color for a band itself or for an emphasizing.
<timeline interval=dd/mm/yyyy-dd/mm/yyyy [color=hexcolor] [[scale={w|m|y}] [mark]]>
highlite=dd/mm/yyyy-dd/mm/yyyy[:hex color][=internal wiki page link] ...
</timeline>
In a case if scale is used, it is possible to specify scale markers. Markers are put under following standards:
^Bob ^
<timeline interval=01/01/2009-31/12/2009 scale=m mark>
highlight=03/07/2009-16/07/2009=bob holiday july
highlight=14/07/2009-22/07/2009:557dcc=Bob sick-list 1
highlight=01/09/2009-14/09/2009
highlight=29/12/2009-30/12/2009
</timeline>
^Joe ^
<timeline interval=01/05/2009-31/12/2009 scale=w mark>
highlight=19/06/2009-04/07/2009
highlight=14/09/2009-27/09/2009
</timeline>
Where:
* holidays <timeline interval=01/01/2009-10/01/2009>highlight=01/01/2009-10/01/2009</timeline>
* sickness <timeline interval=01/01/2009-10/01/2009>highlight=01/01/2009-10/01/2009:557dcc</timeline>
At the moment the marks are direktly in the table-cells (td). I put them into an extra span-Element. So with some css-code I can use a bigger font-size for the marks.
It ended up in some more code to also change the ruler to be shown over the time-band and the marks under the band. You can now stack bands. So here is the part of the syntax.php I changed:
if( $this->scale ) {
if( $this->mark ) $markline = "\n<tr class=\"timeline mark\">";
$renderer->doc .= "\n<tr class=\"timeline ruler\">";
foreach($this->ruler as $value) {
$renderer->doc .= "\n<td border=\"0\">".
($value?"<span> </span>":" ").
"</td>";
if( $this->mark ) {
$markline .= "\n<td border=\"0\">";
if ($value) {$markline .="<span>".array_shift($this->marker)."</span>";}
$markline .= "</td>";
}
}
$renderer->doc .= "\n</tr>";
if( $this->mark ) {
$markline .= "\n</tr>";
$renderer->doc .= $markline;
}
An my extra-code in style.css:
div.timeline tr.mark span {
position:absolute;
border-left: 1px solid black;
}
div.timeline tr.ruler span {
position:absolute;
border-left: 1px solid black;
height:9px;
margin-top:-9px;
}
div.dokuwiki div.timeline table {font-size: 0px;}
div.dokuwiki div.timeline table td {}
div.dokuwiki div.timeline tr.mark {font-size: 11px;}
div.dokuwiki div.timeline tr.ruler {font-size: 0px;}
Thanks, this is great! In your next update, could you please add a function to highlight the current date? I'd also like to have multiple timelines represented on the same timeframe or time scale. E.g One page showing all my project timelines for the next 2-3 years, but each project will have a different start and end date, however the earliest project should be leftmost on the chart. Thanks. Andre.
Checked with Release 2010-11-07 “Anteater”: Works fine, but I had to add a slash in line 203 for adresssing the image ( ”/lib…” instead of “lib…”), Thanks, NoSi
The Downloadlinks are dead!