calendar: all dependencies are contentless

master
Joey Hess 2009-10-04 16:05:41 -04:00
parent e529c561f5
commit a6689f9c7a
2 changed files with 15 additions and 12 deletions

View File

@ -104,19 +104,22 @@ sub format_month (@) {
"$archivebase/$year/".sprintf("%02d", $month),
linktext => " $monthname ");
}
add_depends($params{page}, "$archivebase/$year/".sprintf("%02d", $month));
add_depends($params{page}, "$archivebase/$year/".sprintf("%02d", $month),
content => 0);
if (exists $cache{$pagespec}{"$pyear/$pmonth"}) {
$purl = htmllink($params{page}, $params{destpage},
"$archivebase/$pyear/" . sprintf("%02d", $pmonth),
linktext => " $pmonthname ");
}
add_depends($params{page}, "$archivebase/$pyear/".sprintf("%02d", $pmonth));
add_depends($params{page}, "$archivebase/$pyear/".sprintf("%02d", $pmonth),
content => 0);
if (exists $cache{$pagespec}{"$nyear/$nmonth"}) {
$nurl = htmllink($params{page}, $params{destpage},
"$archivebase/$nyear/" . sprintf("%02d", $nmonth),
linktext => " $nmonthname ");
}
add_depends($params{page}, "$archivebase/$nyear/".sprintf("%02d", $nmonth));
add_depends($params{page}, "$archivebase/$nyear/".sprintf("%02d", $nmonth),
content => 0);
# Start producing the month calendar
$calendar=<<EOF;
@ -209,11 +212,11 @@ EOF
# Add dependencies to update the calendar whenever pages
# matching the pagespec are added or removed.
add_depends($params{page}, $params{pages});
add_depends($params{page}, $params{pages}, content => 0);
# Explicitly add all currently linked pages as dependencies, so
# that if they are removed, the calendar will be sure to be updated.
foreach my $p (@list) {
add_depends($params{page}, $p);
add_depends($params{page}, $p, content => 0);
}
return $calendar;
@ -246,19 +249,19 @@ sub format_year (@) {
"$archivebase/$year",
linktext => "$year");
}
add_depends($params{page}, "$archivebase/$year");
add_depends($params{page}, "$archivebase/$year", content => 0);
if (exists $cache{$pagespec}{"$pyear"}) {
$purl = htmllink($params{page}, $params{destpage},
"$archivebase/$pyear",
linktext => "\&larr;");
}
add_depends($params{page}, "$archivebase/$pyear");
add_depends($params{page}, "$archivebase/$pyear", content => 0);
if (exists $cache{$pagespec}{"$nyear"}) {
$nurl = htmllink($params{page}, $params{destpage},
"$archivebase/$nyear",
linktext => "\&rarr;");
}
add_depends($params{page}, "$archivebase/$nyear");
add_depends($params{page}, "$archivebase/$nyear", content => 0);
# Start producing the year calendar
$calendar=<<EOF;
@ -310,7 +313,7 @@ EOF
else {
$calendar.=qq{\t<td class="$tag">$monthabbr</td>\n};
}
add_depends($params{page}, "$archivebase/$year/$mtag");
add_depends($params{page}, "$archivebase/$year/$mtag", content => 0);
$calendar.=qq{\t</tr>\n} if ($month % $params{months_per_row} == 0);
}

6
debian/changelog vendored
View File

@ -13,9 +13,9 @@ ikiwiki (3.14159266) UNRELEASED; urgency=low
* Added support framework for multiple types of dependencies.
* Allow declaring that a dependency does not encompass the content of a
page. (By passing content => 0 to add_depends.)
* pagecount: Use a contentless dependency, which makes this
directive much less expensive to use, since page edits will
no longer trigger an unnecessary update of the page count.
* pagecount, calendar: Use a contentless dependency, which makes these
directives much less expensive to use, since page edits will
no longer trigger an unnecessary update.
* map: Use a contentless dependency unless show= is specified.
This makes simple maps efficient enough that they can be used on sidebars!
* inline: Use a contentless dependency in quick mode.