X-Git-Url: https://sipb.mit.edu/gitweb.cgi/ikiwiki.git/blobdiff_plain/3e593eb9c0edd3f5cce7381ca145c0889441d719..fb0068c6da03bb58e1b1a27936e392a5de266f47:/IkiWiki.pm diff --git a/IkiWiki.pm b/IkiWiki.pm index 703b596a8..61725ab84 100644 --- a/IkiWiki.pm +++ b/IkiWiki.pm @@ -116,13 +116,8 @@ sub checkconfig () { #{{{ } #}}} sub loadplugins () { #{{{ - foreach my $plugin (@{$config{plugin}}) { - my $mod="IkiWiki::Plugin::".possibly_foolish_untaint($plugin); - eval qq{use $mod}; - if ($@) { - error("Failed to load plugin $mod: $@"); - } - } + loadplugin($_) foreach @{$config{plugin}}; + run_hooks(getopt => sub { shift->() }); if (grep /^-/, @ARGV) { print STDERR "Unknown option: $_\n" @@ -131,6 +126,16 @@ sub loadplugins () { #{{{ } } #}}} +sub loadplugin ($) { #{{{ + my $plugin=shift; + + my $mod="IkiWiki::Plugin::".possibly_foolish_untaint($plugin); + eval qq{use $mod}; + if ($@) { + error("Failed to load plugin $mod: $@"); + } +} #}}} + sub error ($) { #{{{ if ($config{cgi}) { print "Content-type: text/html\n\n"; @@ -391,9 +396,6 @@ sub htmllink ($$$;$$$) { #{{{ return "$linktext" if length $bestlink && $page eq $bestlink; - # TODO BUG: %renderedfiles may not have it, if the linked to page - # was also added and isn't yet rendered! Note that this bug is - # masked by the bug that makes all new files be rendered twice. if (! grep { $_ eq $bestlink } map { @{$_} } values %renderedfiles) { $bestlink=htmlpage($bestlink); }