summaryrefslogtreecommitdiff
path: root/IkiWiki/Plugin
diff options
context:
space:
mode:
authorjoey <joey@0fa5a96a-9a0e-0410-b3b2-a0fd24251071>2007-09-20 18:59:27 +0000
committerjoey <joey@0fa5a96a-9a0e-0410-b3b2-a0fd24251071>2007-09-20 18:59:27 +0000
commitd1999f0357d893924acdc84f7c6c93dab144aa7e (patch)
tree3bdd3fc1a28b607c1768d660710827e0891a9c23 /IkiWiki/Plugin
parent7f087e18aef78ea8d1b115bed669cfd108237b47 (diff)
* Add taglink preprocessor directive, supporting visible tag links.
Closes: #443344
Diffstat (limited to 'IkiWiki/Plugin')
-rw-r--r--IkiWiki/Plugin/tag.pm17
1 files changed, 15 insertions, 2 deletions
diff --git a/IkiWiki/Plugin/tag.pm b/IkiWiki/Plugin/tag.pm
index bae8e1432..29af37576 100644
--- a/IkiWiki/Plugin/tag.pm
+++ b/IkiWiki/Plugin/tag.pm
@@ -10,7 +10,8 @@ my %tags;
sub import { #{{{
hook(type => "getopt", id => "tag", call => \&getopt);
- hook(type => "preprocess", id => "tag", call => \&preprocess, scan => 1);
+ hook(type => "preprocess", id => "tag", call => \&preprocess_tag, scan => 1);
+ hook(type => "preprocess", id => "taglink", call => \&preprocess_taglink, scan => 1);
hook(type => "pagetemplate", id => "tag", call => \&pagetemplate);
} # }}}
@@ -32,7 +33,7 @@ sub tagpage ($) { #{{{
return $tag;
} #}}}
-sub preprocess (@) { #{{{
+sub preprocess_tag (@) { #{{{
if (! @_) {
return "";
}
@@ -52,6 +53,18 @@ sub preprocess (@) { #{{{
return "";
} # }}}
+sub preprocess_taglink (@) { #{{{
+ if (! @_) {
+ return "";
+ }
+ preprocess_tag(@_);
+ my %params=@_;
+ delete $params{page};
+ delete $params{destpage};
+ delete $params{preview};
+ return join(" ", map { "[[$_]]" } keys %params);
+} # }}}
+
sub pagetemplate (@) { #{{{
my %params=@_;
my $page=$params{page};