Improved Tags Plugin
First major revision to the
aaa_tags
plugin.
Several new features with this.
- AND search for multiple tags. Use
^
to separate tags. - OR search for multiple tags. Use
|
to separate tags. - NOT search for excluding tags. Prefix with
~
to exclude. - All of those can be (crudely) combined for a complex search.
Use
,
to combine them. - Multiple uses of
tag=
CGI parameter allowed, if individual words, they will be considered an OR list. - UTF-8 tags are now allowed.
Tags can be ASCII letters, numbers, hyphen and underscore, plus any Unicode codepoints above U+00A0 (A0 is non-breaking space; that is not allowed in tags). - If there are stories before
filter()
but the tag search has removed them all by the end offilter()
, thenstory()
will (attempt to) display an error page. Due to the way date filtering works inblosxom
,story()
may not get the chance. But it works for date unfiltered stuff. - New template for that error:
aaa_nothing_left
- New interpolatable variables.
- Configuration parameters
$aaa_tags::top_count
and$aaa_tags::threshold
$aaa_tags::frequent_tags
has a list of tags, much like the old$aaa_tags::top_tags
, but alpha-sorted and a list of all tags with more than$aaa_tags::threshold
uses.$aaa_tags::this_search_terse
has a value suitable for stuffing into atag=
CGI parameter for repeating the current search. Can be used anywhere.$aaa_tags::this_search_verbose
has a text description of the search, only for use in the error template.$aaa_tags::this_search_table
has a table of usage frequencies of the tags in the current search, only for use in the error template.
- Configuration parameters
This is a lot of new code. There are probably bugs lurking in all of this. I've only done cursory testing, but I've been very happy with the results.
- Reviews from 2020
- /qz/blosxom?tag=review^2020
- 2003, 2004, 2005, 2006, 2007, and 2008 posts without "deadlink" tag (but see below)
- /qz/blosxom?tag=2003|2004|2005|2006|2007|2008,~deadlink
- Posts from 2020 not tagged with "blog"
- /qz/blosxom?tag=2020,~blog
- Blosxom or "administrivia" posts, as two tags
- /qz/blosxom?tag=blosxom&tag=administrivia
- UTF-8 tag, unique to this specific post.
- /qz/blosxom?tag=utf-8✓
- A search that will return no results.
- /qz/blosxom?tag=blog,~blog
Testing this has made me realize (a) I've got a real problem with bad
"deadlink" tagging, as in posts that should have that tag don't; and
(b) the deadlink test was kinda flawed in that in only looked for 200
responses so sites that redirected http:
to
https:
got mistakenly flagged. I need to fix both of those
issues before the results of the example deadlink search reflect what
really should be called deadlinks.