my @now=localtime($time);
sub import { #{{{
- hook(type => "needsbuild", id => "version", call => \&needsbuild);
+ hook(type => "getsetup", id => "calendar", call => \&getsetup);
+ hook(type => "needsbuild", id => "calendar", call => \&needsbuild);
hook(type => "preprocess", id => "calendar", call => \&preprocess);
} #}}}
-sub needsbuild (@) { #{{{
- my $needsbuild=shift;
- foreach my $page (keys %pagestate) {
- if (exists $pagestate{$page}{calendar}{nextchange}) {
- if ($pagestate{$page}{calendar}{nextchange} >= $time) {
- # force a rebuild so the calendar shows
- # the current day
- push @$needsbuild, $pagesources{$page};
- }
- if (grep { $_ eq $pagesources{$page} } @$needsbuild) {
- # remove state, will be re-added if
- # the calendar is still there during the
- # rebuild
- delete $pagestate{$page}{calendar};
- }
- }
- }
-} # }}}
+sub getsetup () { #{{{
+ return
+ plugin => {
+ safe => 1,
+ rebuild => undef,
+ },
+ archivebase => {
+ type => "string",
+ example => "archives",
+ description => "base of the archives hierarchy",
+ safe => 1,
+ rebuild => 1,
+ },
+} #}}}
sub is_leap_year (@) { #{{{
my %params=@_;
return "\n<div><div class=\"calendar\">$calendar</div></div>\n";
} #}}
+sub needsbuild (@) { #{{{
+ my $needsbuild=shift;
+ foreach my $page (keys %pagestate) {
+ if (exists $pagestate{$page}{calendar}{nextchange}) {
+ if ($pagestate{$page}{calendar}{nextchange} <= $time) {
+ # force a rebuild so the calendar shows
+ # the current day
+ push @$needsbuild, $pagesources{$page};
+ }
+ if (exists $pagesources{$page} &&
+ grep { $_ eq $pagesources{$page} } @$needsbuild) {
+ # remove state, will be re-added if
+ # the calendar is still there during the
+ # rebuild
+ delete $pagestate{$page}{calendar};
+ }
+ }
+ }
+} # }}}
+
1