calendar: When there are multiple pages for a given day, they're displayed in a popup on mouseover. Thanks, Louis
parent
c037714b77
commit
b8d65da266
|
@ -86,8 +86,10 @@ sub format_month (@) {
|
|||
my $year = $date[5] + 1900;
|
||||
my $mtag = sprintf("%02d", $month);
|
||||
|
||||
# Only one posting per day is being linked to.
|
||||
$linkcache{"$year/$mtag/$mday"} = $p;
|
||||
if (! $linkcache{"$year/$mtag/$mday"}) {
|
||||
$linkcache{"$year/$mtag/$mday"} = [];
|
||||
}
|
||||
push(@{$linkcache{"$year/$mtag/$mday"}}, $p);
|
||||
}
|
||||
|
||||
my $pmonth = $params{month} - 1;
|
||||
|
@ -221,11 +223,38 @@ EOF
|
|||
$tag='month-calendar-day-link';
|
||||
}
|
||||
$calendar.=qq{\t\t<td class="$tag $downame{$wday}">};
|
||||
$calendar.=htmllink($params{page}, $params{destpage},
|
||||
$linkcache{$key},
|
||||
noimageinline => 1,
|
||||
linktext => $day,
|
||||
title => pagetitle(IkiWiki::basename($linkcache{$key})));
|
||||
if (scalar(@{$linkcache{$key}}) == 1) {
|
||||
# Only one posting on this page
|
||||
my $page = $linkcache{$key}[0];
|
||||
$calendar.=htmllink($params{page}, $params{destpage},
|
||||
$page,
|
||||
noimageinline => 1,
|
||||
linktext => $day,
|
||||
title => pagetitle(IkiWiki::basename($page)));
|
||||
}
|
||||
else {
|
||||
$calendar.=qq{<div class='popup'>$day<div class='balloon'>};
|
||||
# Several postings on this page
|
||||
$calendar.=qq{<ul>};
|
||||
foreach my $page (@{$linkcache{$key}}) {
|
||||
$calendar.= qq{\n\t\t\t<li>};
|
||||
my $title;
|
||||
if (exists $pagestate{$page}{meta}{title}) {
|
||||
$title = "$pagestate{$page}{meta}{title}";
|
||||
}
|
||||
else {
|
||||
$title = pagetitle(IkiWiki::basename($page));
|
||||
}
|
||||
$calendar.=htmllink($params{page}, $params{destpage},
|
||||
$page,
|
||||
noimageinline => 1,
|
||||
linktext => $title,
|
||||
title => $title);
|
||||
$calendar.= '</li>';
|
||||
}
|
||||
$calendar.=qq{\n\t\t</ul>};
|
||||
$calendar.=qq{</div></div>};
|
||||
}
|
||||
$calendar.=qq{</td>\n};
|
||||
}
|
||||
else {
|
||||
|
|
|
@ -5,6 +5,9 @@ ikiwiki (3.20130519) UNRELEASED; urgency=low
|
|||
* comments: The formats allowed to be used in comments can be configured
|
||||
using comments_allowformats.
|
||||
Thanks, Michal Sojka
|
||||
* calendar: When there are multiple pages for a given day, they're
|
||||
displayed in a popup on mouseover.
|
||||
Thanks, Louis
|
||||
|
||||
-- Joey Hess <joeyh@debian.org> Sun, 23 Jun 2013 14:02:01 -0400
|
||||
|
||||
|
|
|
@ -17,3 +17,5 @@ and a suitable whilst loop looks to be all that's needed...
|
|||
Any pointers appreciated.
|
||||
|
||||
A [[!taglink patch]] has been proposed in [comment](#comment-d6f94e2b779d1c038b6359aad79ed14b)
|
||||
|
||||
> This has been applied. --[[Joey]]
|
||||
|
|
|
@ -323,6 +323,7 @@ div.progress-done {
|
|||
.popup .paren,
|
||||
.popup .expand {
|
||||
display: none;
|
||||
text-align: left;
|
||||
}
|
||||
.popup:hover .balloon,
|
||||
.popup:focus .balloon {
|
||||
|
|
|
@ -90,3 +90,5 @@ Regards,
|
|||
}
|
||||
.popup:hover .balloon,
|
||||
.popup:focus .balloon {
|
||||
|
||||
> [[applied|done]] --[[Joey]]
|
||||
|
|
Loading…
Reference in New Issue