Registered by passing "" as page name to add_depends.
use vars qw{%config %links %oldlinks %pagemtime %pagectime %pagecase
%pagestate %wikistate %renderedfiles %oldrenderedfiles
- %pagesources %destsources %depends %depends_simple %hooks
- %forcerebuild %loaded_plugins %typedlinks %oldtypedlinks
+ %pagesources %destsources %depends %depends_simple @mass_depends
+ %hooks %forcerebuild %loaded_plugins %typedlinks %oldtypedlinks
%autofiles};
use Exporter q{import};
if (! length $config{url}) {
error(sprintf(gettext("Must specify %s when using the %s plugin"), "url", 'google'));
}
+
+ # This is a mass dependency, so if the search form template
+ # changes, every page is rebuilt.
+ add_depends("", "googleform.tmpl");
}
my $form;
# Add search box to page header.
if ($template->query(name => "searchform")) {
if (! defined $form) {
- my $searchform = template_depends("googleform.tmpl", $page, blind_cache => 1);
+ my $searchform = template("googleform.tmpl", blind_cache => 1);
$searchform->param(url => $config{url});
$form=$searchform->output;
}
if (! defined $config{omega_cgi}) {
$config{omega_cgi}="/usr/lib/cgi-bin/omega/omega";
}
+
+ # This is a mass dependency, so if the search form template
+ # changes, every page is rebuilt.
+ add_depends("", "searchform.tmpl");
}
my $form;
# Add search box to page header.
if ($template->query(name => "searchform")) {
if (! defined $form) {
- my $searchform = template_depends("searchform.tmpl", $page, blind_cache => 1);
+ my $searchform = template("searchform.tmpl", blind_cache => 1);
$searchform->param(searchaction => $config{cgiurl});
$form=$searchform->output;
}
my %lc_changed = map { lc(pagename($_)) => 1 } @changed;
my %lc_exists_changed = map { lc(pagename($_)) => 1 } @exists_changed;
+
+ my $mass_reason;
+ foreach my $p ("page.tmpl", keys %{$depends_simple{""}}) {
+ $mass_reason=$p if $rendered{$p};
+ }
foreach my $f (@$files) {
next if $rendered{$f};
my $p=pagename($f);
- my $reason = undef;
-
- if (exists $depends_simple{$p}) {
+ my $reason = $mass_reason;
+
+ if (exists $depends_simple{$p} && ! defined $reason) {
foreach my $d (keys %{$depends_simple{$p}}) {
if (($depends_simple{$p}{$d} & $IkiWiki::DEPEND_CONTENT &&
$lc_changed{$d})
render_linkers($file);
}
- if ($rendered{"templates/page.tmpl"}) {
- foreach my $f (@$files) {
- next if $f eq "templates/page.tmpl";
- render($f, sprintf(gettext("building %s, which depends on %s"), $f, "templates/page.tmpl"));
- }
- }
- elsif (@$changed || @$internal_changed ||
+ if (@$changed || @$internal_changed ||
@$del || @$internal_del || @$internal_new) {
1 while render_dependent($files, $new, $internal_new,
$del, $internal_del, $internal_changed,