]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blobdiff - IkiWiki/Plugin/tag.pm
* camelcase: Tighten regexp to avoid false positives. WikiWords are only
[git.ikiwiki.info.git] / IkiWiki / Plugin / tag.pm
index 29af3757630d880f320c21b5bb8191777487892d..f0e3c223c5523a3c40cb47909099bfc2972e9b76 100644 (file)
@@ -57,12 +57,27 @@ sub preprocess_taglink (@) { #{{{
        if (! @_) {
                return "";
        }
-       preprocess_tag(@_);
        my %params=@_;
-       delete $params{page};
-       delete $params{destpage};
-       delete $params{preview};
-       return join(" ", map { "[[$_]]" } keys %params);
+       return join(" ", map {
+               if (/(.*)\|(.*)/) {
+                       my $tag=IkiWiki::linkpage($2);
+                       $tags{$params{page}}{$tag}=1;
+                       push @{$links{$params{page}}}, tagpage($tag);
+                       return htmllink($params{page}, $params{destpage},
+                               tagpage($tag),
+                               linktext => IkiWiki::pagetitle($1));
+               }
+               else {
+                       my $tag=IkiWiki::linkpage($_);
+                       $tags{$params{page}}{$tag}=1;
+                       push @{$links{$params{page}}}, tagpage($tag);
+                       return htmllink($params{page}, $params{destpage},
+                               tagpage($tag));
+               }
+       }
+       grep {
+               $_ ne 'page' && $_ ne 'destpage' && $_ ne 'preview'
+       } keys %params);
 } # }}}
 
 sub pagetemplate (@) { #{{{