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_countand$aaa_tags::threshold $aaa_tags::frequent_tagshas 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::thresholduses.$aaa_tags::this_search_tersehas a value suitable for stuffing into atag=CGI parameter for repeating the current search. Can be used anywhere.$aaa_tags::this_search_verbosehas a text description of the search, only for use in the error template.$aaa_tags::this_search_tablehas 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.
[]
[2020 Apr 09]
[permalink]
qz thoughts