summaryrefslogtreecommitdiff
path: root/IkiWiki/Plugin/listdirectives.pm
diff options
context:
space:
mode:
authorJoey Hess <joey@kodama.kitenet.net>2008-10-30 13:41:19 -0400
committerJoey Hess <joey@kodama.kitenet.net>2008-10-30 13:41:19 -0400
commit354d22e27b4d9cb8207e038de4f342545435d2c6 (patch)
tree748615018538b1672fd3784600b2b4ae3138f985 /IkiWiki/Plugin/listdirectives.pm
parent8f5723e1d572664ecac4d0aeed079ab3365719cc (diff)
don't rely on plugin load order when determining generated directives
Instead, shortcuts will explicitly be marked as such when registered, and listdirectives can filter them out.
Diffstat (limited to 'IkiWiki/Plugin/listdirectives.pm')
-rw-r--r--IkiWiki/Plugin/listdirectives.pm9
1 files changed, 4 insertions, 5 deletions
diff --git a/IkiWiki/Plugin/listdirectives.pm b/IkiWiki/Plugin/listdirectives.pm
index fc8927ccb..2ab3e4665 100644
--- a/IkiWiki/Plugin/listdirectives.pm
+++ b/IkiWiki/Plugin/listdirectives.pm
@@ -30,7 +30,7 @@ sub getsetup () { #{{{
} #}}}
my @fulllist;
-my @earlylist;
+my @shortlist;
my $pluginstring;
sub checkconfig () { #{{{
@@ -40,15 +40,14 @@ sub checkconfig () { #{{{
else {
$config{directive_description_dir} =~ s/\/+$//;
}
-
- @earlylist = sort keys %{$IkiWiki::hooks{preprocess}};
} #}}}
sub needsbuild (@) { #{{{
my $needsbuild=shift;
@fulllist = sort keys %{$IkiWiki::hooks{preprocess}};
- $pluginstring = join(' ', @earlylist) . " : " . join(' ', @fulllist);
+ @shortlist = grep { ! $IkiWiki::hooks{preprocess}{$_}{shortcut} } @fulllist;
+ $pluginstring = join(' ', @shortlist) . " : " . join(' ', @fulllist);
foreach my $page (keys %pagestate) {
if (exists $pagestate{$page}{listdirectives}{shown}) {
@@ -77,7 +76,7 @@ sub preprocess (@) { #{{{
@pluginlist = @fulllist;
}
else {
- @pluginlist = @earlylist;
+ @pluginlist = @shortlist;
}
my $result = '<ul class="listdirectives">';