This is mostly a minor bug fix release:
http://trac.tiddlywiki.org/wiki/History
The only new feature is fairly smallish: the beginnings of what we're
calling the tiddler filtering mechanism. It's a simple declarative
syntax that allows you to specify a list of tiddlers. The simplest
tiddler filter list is just a list of tiddler titles:
HelloThere [[Hello World]] AnotherTiddler
We've extended the double bracket syntax to allow filtering by tag. For example:
HelloThere [tag[systemConfig]]
That example returns a list consisting of the tiddler called
HelloThere followed by a list of all the tiddlers tagged
'systemConfig'. We plan to extend the syntax to allow more
sophisticated filtering and sorting in the future.
Tiddler filter lists are currently usable in DefaultTiddlers and in
the 'TiddlerFilter' field of a systemServer tiddler.
As usual, this release is the result of an awful lot of work by many
people in the community, submitting bug reports, patches, suggestions
and general feedback. My thanks go to everyone who's helped.
Cheers
Jeremy
--
Jeremy Ruston
mailto:jer...@osmosoft.com
http://www.tiddlywiki.com
Way to go and whoopee!
Tiddler filter lists are currently usable in DefaultTiddlers...
But it was a fun feature to add, kind of showed that we were on the
right track with our implementation of filtering.
Cheers
Jerm
Using TW 2.2.6
Thanks
David
Mmmmm
David
The following will list all tiddlers with the tag projects, and
additionally all tiddlers with the work tag.
<<list filter [tag[projects]][tag[work]]>>
The next one will only list tiddlers containing both tags.
Notice the space b/w them in this one.
Thanks
David
As Saq mentions, to get tiddlers tagged with projects OR work use:
<<list filter "[tag[projects]] [tag[work]]">>
There is currently no way to list tiddlers tagged with (eg) projects AND work.
Martin
I just needed this for one of my own projects, so I wrote a quick script
using the EvalMacro*:
---------------
<<eval {{
var tags = ["foo", "bar"];
var r = [];
var t = store.getTaggedTiddlers(tags[0]);
for(var i = 0; i < t.length; i++) {
if(t[i].tags.containsAll(tags)) {
r.push(t[i].title);
}
}
"* [[" + r.join("]]\n* [[") + "]]";
}}>>
---------------
This will create a list of tiddlers tagged with both "foo" AND "bar".
(Thanks to Saq for making me aware of the containsAll() method.)
Is this worth creating a plugin/macro for - or will it become obsolete
with the next official TW release?
-- F.