summaryrefslogtreecommitdiff
path: root/doc/todo/tag_pagespec_function.mdwn
blob: 681a1f661ca3b168aed32fd10fa9a925817140b9 (plain)

Implementing tags in terms of links is clever, but it would be nice if it was opaque in both directions: tagging and matching tags. Writing pagespecs to find out which pages are tagged with a given name means that the pagespec is tied to whatever the tagbase is.

This patch adds a pagespec function 'tag' which lets you write pagespecs to match tagged pages independent of whatever the tagbase is set to.

-- [[users/Jon]] 2009/02/17

So, this looks good, appreciate the patch.

The only problem I see is it could be confusing if tag(foo) matched a page that just linked to the tag via a wikilink, w/o actually tagging it.

One other thing, perhaps it should be called tagged()? --[[Joey]]

[[!tag patch done]]

--- a/plugins/IkiWiki/Plugin/tag.pm	2009-02-16 11:30:11.000000000 +0000
+++ b/plugins/IkiWiki/Plugin/tag.pm	2009-02-17 15:40:03.000000000 +0000
@@ -125,4 +125,12 @@
 	}
 }
 
+package IkiWiki::PageSpec;
+
+sub match_tag ($$;@) {
+	my $page = shift;
+	my $glob = shift;
+    return match_link($page, IkiWiki::Plugin::tag::tagpage($glob));
+}
+
 1