summaryrefslogtreecommitdiff
path: root/IkiWiki.pm
diff options
context:
space:
mode:
authorjoey <joey@0fa5a96a-9a0e-0410-b3b2-a0fd24251071>2006-05-03 19:58:58 +0000
committerjoey <joey@0fa5a96a-9a0e-0410-b3b2-a0fd24251071>2006-05-03 19:58:58 +0000
commita44bfb158dac9e04647a75bc819a73bc18f5acce (patch)
tree557f34948ad08be08dc5bdc1d768fe396b861984 /IkiWiki.pm
parent4ba45ec3fc6d94657e23cecaca27bf4dc5c7c0a5 (diff)
change plugin interface to use named parameters for flexability
Diffstat (limited to 'IkiWiki.pm')
-rw-r--r--IkiWiki.pm14
1 files changed, 8 insertions, 6 deletions
diff --git a/IkiWiki.pm b/IkiWiki.pm
index e3bdc8d83..9a7b4fe91 100644
--- a/IkiWiki.pm
+++ b/IkiWiki.pm
@@ -7,7 +7,7 @@ use File::Spec;
use HTML::Template;
use vars qw{%config %links %oldlinks %oldpagemtime %pagectime
- %renderedfiles %pagesources %depends %plugins};
+ %renderedfiles %pagesources %depends %hooks};
sub checkconfig () { #{{{
if ($config{cgi} && ! length $config{url}) {
@@ -387,12 +387,14 @@ sub globlist_match ($$) { #{{{
return 0;
} #}}}
-sub register_plugin ($$$) { # {{{
- my $type=shift;
- my $command=shift;
- my $function=shift;
+sub hook (@) { # {{{
+ my %param=@_;
- $plugins{$type}{$command}=$function;
+ if (! exists $param{type} || ! ref $param{call} || ! exists $param{id}) {
+ error "hook requires type, call, and id parameters";
+ }
+
+ $hooks{$param{type}}{$param{id}}=\%param;
} # }}}
1