indentation, style, and fixed name of preprocessor_description_dir
parent
4cec43e1b9
commit
c62cbc31c2
|
@ -21,37 +21,41 @@ sub getsetup () { #{{{
|
|||
},
|
||||
preprocessor_description_dir => {
|
||||
type => "string",
|
||||
description => "The ikiwiki directory that contains plugin descriptions.",
|
||||
description => "directory in srcdir that contains preprocessor descriptions",
|
||||
example => "ikiwiki/plugin",
|
||||
safe => 1,
|
||||
rebuild => 1,
|
||||
},
|
||||
} #}}}
|
||||
|
||||
my @fullPluginList;
|
||||
my @earlyPluginList;
|
||||
my $pluginString;
|
||||
my @fulllist;
|
||||
my @earlylist;
|
||||
my $pluginstring;
|
||||
|
||||
sub checkconfig () { #{{{
|
||||
if (!defined $config{plugin_description_dir}) {
|
||||
$config{plugin_description_dir} = "ikiwiki/plugin/";
|
||||
}
|
||||
if (! defined $config{preprocessor_description_dir}) {
|
||||
$config{preprocessor_description_dir} = "ikiwiki/plugin";
|
||||
}
|
||||
else {
|
||||
$config{preprocessor_description_dir}=~s/\/+$//;
|
||||
}
|
||||
|
||||
@earlyPluginList = sort( keys %{ $IkiWiki::hooks{preprocess} } );
|
||||
@earlylist = sort( keys %{ $IkiWiki::hooks{preprocess} } );
|
||||
} #}}}
|
||||
|
||||
sub needsbuild (@) { #{{{
|
||||
my $needsbuild=shift;
|
||||
|
||||
@fullPluginList = sort( keys %{ $IkiWiki::hooks{preprocess} } );
|
||||
$pluginString = join (' ', @earlyPluginList) . " : ". join (' ', @fullPluginList);
|
||||
@fulllist = sort( keys %{ $IkiWiki::hooks{preprocess} } );
|
||||
$pluginstring = join (' ', @earlylist) . " : ". join (' ', @fulllist);
|
||||
|
||||
foreach my $page (keys %pagestate) {
|
||||
if (exists $pagestate{$page}{listpreprocessors}{shown}) {
|
||||
if ($pagestate{$page}{listpreprocessors}{shown} ne $pluginString) {
|
||||
if ($pagestate{$page}{listpreprocessors}{shown} ne $pluginstring) {
|
||||
push @$needsbuild, $pagesources{$page};
|
||||
}
|
||||
if (exists $pagesources{$page} &&
|
||||
grep { $_ eq $pagesources{$page} } @$needsbuild) {
|
||||
grep { $_ eq $pagesources{$page} } @$needsbuild) {
|
||||
# remove state, will be re-added if
|
||||
# the [[!listpreprocessors]] is still there during the
|
||||
# rebuild
|
||||
|
@ -64,21 +68,23 @@ sub needsbuild (@) { #{{{
|
|||
sub preprocess (@) { #{{{
|
||||
my %params=@_;
|
||||
|
||||
$pagestate{$params{destpage}}{listpreprocessors}{shown}=$pluginString;
|
||||
$pagestate{$params{destpage}}{listpreprocessors}{shown}=$pluginstring;
|
||||
|
||||
my @pluginlist;
|
||||
|
||||
if (defined $params{generated}) {
|
||||
@pluginlist = @fullPluginList;
|
||||
} else {
|
||||
@pluginlist = @earlyPluginList;
|
||||
@pluginlist = @fulllist;
|
||||
}
|
||||
else {
|
||||
@pluginlist = @earlylist;
|
||||
}
|
||||
|
||||
my $result = '<ul class="listpreprocessors">';
|
||||
|
||||
foreach my $plugin (@pluginlist) {
|
||||
$result .= '<li class="listpreprocessors">';
|
||||
$result .= htmllink($params{page}, $params{destpage}, IkiWiki::linkpage($config{plugin_description_dir} . $plugin));
|
||||
$result .= htmllink($params{page}, $params{destpage},
|
||||
IkiWiki::linkpage($config{preprocessor_description_dir}."/".$plugin));
|
||||
$result .= '</li>';
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue