]> sipb.mit.edu Git - ikiwiki.git/blobdiff - IkiWiki/Plugin/tag.pm
Avoid %links accumulating duplicates. (For TOVA)
[ikiwiki.git] / IkiWiki / Plugin / tag.pm
index d439109104a8fd10dfd8ea329d083b4241c42fd0..cdcfaf536082825444b3e8d3f27b406bc413cd53 100644 (file)
@@ -73,7 +73,7 @@ sub preprocess_tag (@) {
                $tag=linkpage($tag);
                $tags{$page}{$tag}=1;
                # hidden WikiLink
-               push @{$links{$page}}, tagpage($tag);
+               add_link($page, tagpage($tag));
        }
                
        return "";
@@ -88,14 +88,14 @@ sub preprocess_taglink (@) {
                if (/(.*)\|(.*)/) {
                        my $tag=linkpage($2);
                        $tags{$params{page}}{$tag}=1;
-                       push @{$links{$params{page}}}, tagpage($tag);
+                       add_link($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);
+                       add_link($params{page}, tagpage($tag));
                        return taglink($params{page}, $params{destpage}, $tag);
                }
        }
@@ -125,4 +125,12 @@ sub pagetemplate (@) {
        }
 }
 
+package IkiWiki::PageSpec;
+
+sub match_tagged ($$;@) {
+       my $page = shift;
+       my $glob = shift;
+       return match_link($page, IkiWiki::Plugin::tag::tagpage($glob));
+}
+
 1