fix next/prev month padding bug
authorJoey Hess <joey@gnu.kitenet.net>
Mon, 12 Oct 2009 01:52:50 +0000 (21:52 -0400)
committerJoey Hess <joey@gnu.kitenet.net>
Mon, 12 Oct 2009 01:52:50 +0000 (21:52 -0400)
IkiWiki/Plugin/calendar.pm
debian/changelog

index 0266612ae4f64758861f17cb2fdf09e5f17f6448..cf133e8dc9061305819b2ad5c84732385d930074 100644 (file)
@@ -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<td class="$tag $downame{$wday}">};
                        $calendar.=htmllink($params{page}, $params{destpage}, 
-                                           $linkcache{"$params{year}/$mtag/$day"},
+                                           $linkcache{"$params{year}/$params{month}/$day"},
                                            "linktext" => "$day");
                        $calendar.=qq{</td>\n};
                }
index 8881c48aa6489461b9014263fa899b518662de4a..5c47b2524ed9ef695857c58cb826a042baca8cbd 100644 (file)
@@ -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 <joeyh@debian.org>  Fri, 09 Oct 2009 19:53:50 -0400