From 23a21850faf1cbb4bd8547b11563c5806617cf7e Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Sun, 11 Oct 2009 21:52:50 -0400 Subject: [PATCH] fix next/prev month padding bug --- IkiWiki/Plugin/calendar.pm | 21 ++++++++++++--------- debian/changelog | 2 +- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/IkiWiki/Plugin/calendar.pm b/IkiWiki/Plugin/calendar.pm index 0266612ae..cf133e8dc 100644 --- a/IkiWiki/Plugin/calendar.pm +++ b/IkiWiki/Plugin/calendar.pm @@ -96,6 +96,10 @@ sub format_month (@) { $nyear++; } + # Add padding. + $pmonth=sprintf("%02d", $pmonth); + $nmonth=sprintf("%02d", $nmonth); + my $calendar="\n"; # When did this month start? @@ -121,24 +125,24 @@ sub format_month (@) { my ($url, $purl, $nurl)=("$monthname",'',''); if (exists $pagesources{"$archivebase/$params{year}/$params{month}"}) { $url = htmllink($params{page}, $params{destpage}, - "$archivebase/$params{year}/".sprintf("%02d", $params{month}), + "$archivebase/$params{year}/".$params{month}, linktext => " $monthname "); } - add_depends($params{page}, "$archivebase/$params{year}/".sprintf("%02d", $params{month}), + add_depends($params{page}, "$archivebase/$params{year}/$params{month}", deptype("presence")); if (exists $pagesources{"$archivebase/$pyear/$pmonth"}) { $purl = htmllink($params{page}, $params{destpage}, - "$archivebase/$pyear/" . sprintf("%02d", $pmonth), + "$archivebase/$pyear/$pmonth", linktext => " $pmonthname "); } - add_depends($params{page}, "$archivebase/$pyear/".sprintf("%02d", $pmonth), + add_depends($params{page}, "$archivebase/$pyear/$pmonth", deptype("presence")); if (exists $pagesources{"$archivebase/$nyear/$nmonth"}) { $nurl = htmllink($params{page}, $params{destpage}, - "$archivebase/$nyear/" . sprintf("%02d", $nmonth), + "$archivebase/$nyear/$nmonth", linktext => " $nmonthname "); } - add_depends($params{page}, "$archivebase/$nyear/".sprintf("%02d", $nmonth), + add_depends($params{page}, "$archivebase/$nyear/$nmonth", deptype("presence")); # Start producing the month calendar @@ -192,8 +196,7 @@ EOF } my $tag; - my $mtag = sprintf("%02d", $params{month}); - if (defined $linkcache{"$params{year}/$mtag/$day"}) { + if (defined $linkcache{"$params{year}/$params{month}/$day"}) { if ($day == $today) { $tag='month-calendar-day-this-day'; } @@ -202,7 +205,7 @@ EOF } $calendar.=qq{\t\t}; $calendar.=htmllink($params{page}, $params{destpage}, - $linkcache{"$params{year}/$mtag/$day"}, + $linkcache{"$params{year}/$params{month}/$day"}, "linktext" => "$day"); $calendar.=qq{\n}; } diff --git a/debian/changelog b/debian/changelog index 8881c48aa..5c47b2524 100644 --- a/debian/changelog +++ b/debian/changelog @@ -31,7 +31,7 @@ ikiwiki (3.2009XXXX) UNRELEASED; urgency=low * calendar: Fix midnight rebuild trigger of calendars with explicit month/year. * calendar: Fix bug in next/previous year/month links, which sometimes - linked to an archive page from the wrong year. + linked to an archive page from the wrong year, or were missing. -- Joey Hess Fri, 09 Oct 2009 19:53:50 -0400