* Add taglink preprocessor directive, supporting visible tag links.

Closes: #443344
master
joey 2007-09-20 18:59:27 +00:00
parent 7f087e18ae
commit d1999f0357
6 changed files with 34 additions and 11 deletions

View File

@ -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};

4
debian/changelog vendored
View File

@ -1,8 +1,10 @@
ikiwiki (2.9) UNRELEASED; urgency=low
* Fix copyright and licence styling.
* Add taglink preprocessor directive, supporting visible tag links.
Closes: #443344
-- Joey Hess <joeyh@debian.org> Thu, 20 Sep 2007 14:06:14 -0400
-- Joey Hess <joeyh@debian.org> Thu, 20 Sep 2007 14:57:52 -0400
ikiwiki (2.8) unstable; urgency=low

View File

@ -4,4 +4,4 @@ ikiwiki 2.6.1 released with [[toggle text="these changes"]]
* Fix minor bug when blogging by cgi, introduced in last version.
* Fix a bug in unlockwiki intorduced last version that made it crash ikiwiki
if it wasn't locked when called. This is known to break post-commit
emails."""]]
emails."""]]

View File

@ -11,6 +11,10 @@ tagged with a given tag, for example. The tags will also show up on blog
entries and at the bottom of the tagged pages, as well as in RSS and Atom
feeds.
If you want a visible [[WikiLink]] along with the tag, use taglink instead:
\[[taglink foo]]
This plugin has a configuration option. Set --tagbase=tags and links to tags
will be located under the specified base page. If ikiwiki is configured
this way, then the example above actually tags the page with the tags

View File

@ -2,17 +2,21 @@ While ikiwiki supports hierarchically categorising pages by creating
[[SubPage]]s, that's often not flexible enough, and it can also be useful
to tag pages in various non-hierarchical ways.
Since this is a wiki, tagging is just a form of linking. For example, since
this page links to [[features]], it can be considered to have something to
do with ikiwiki's features. If you want to put pages into a category, the
typical wiki way to do so is to create a "CategoryFoo" page and link pages
in the category to it. That is just another form of tagging.
Since this is a wiki, tagging is just a form of linking. The general rule
is that all tags are links, but not all links are tags. So a tag is a
special link that ikiwiki knows is intended to be used as a tag.
Sometimes you may want to tag a page without putting a visible link on it.
Generally you will tag a page without putting a visible link on it.
The [[tag_plugin|plugins/tag]] allows you to do so, like this:
\[[tag mytag othertag thirdtag]]
You can also tag a page with a visible link:
\[[taglink mytag]]
This tag will be displayed just like a regular [[WikiLink]].
One way to use these tags is to create a [[blog]] of pages that have a
particular set of tags. Or just look at the [[BackLinks]] to a tag page to
see all the pages that are tagged with it. [[Plugins]] can be written to do

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2007-09-16 20:05-0400\n"
"POT-Creation-Date: 2007-09-20 14:58-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"