+sub preprocess_taglink (@) { #{{{
+ if (! @_) {
+ return "";
+ }
+ my %params=@_;
+ return join(" ", map {
+ if (/(.*)\|(.*)/) {
+ my $tag=linkpage($2);
+ $tags{$params{page}}{$tag}=1;
+ push @{$links{$params{page}}}, tagpage($tag);
+ return taglink($params{page}, $params{destpage}, $tag,
+ linktext => pagetitle($1));
+ }
+ else {
+ my $tag=linkpage($_);
+ $tags{$params{page}}{$tag}=1;
+ push @{$links{$params{page}}}, tagpage($tag);
+ return taglink($params{page}, $params{destpage}, $tag);
+ }
+ }
+ grep {
+ $_ ne 'page' && $_ ne 'destpage' && $_ ne 'preview'
+ } keys %params);
+} # }}}
+