Hi all,
I want to determine what tabs of the Reference Explorer in my Zettelkasten
to show on a template, such that if there aren't any results on that tab,
the tab doesn't appear at all. The results of the tab are produced based on
a filter (of course), so I figured I would also determine whether the tab
appears by running a filter. The filter is stored in a field in the tab
tiddler.
That is, I have a series of tiddlers with a certain tag (say *Tab*), and
each of these tiddlers contains a filter in some field (say *condition*).
For each Tiddler tagged Tab, if and only if the filter Tiddler!!condition,
run with the current tiddler as input, has more than zero results, I want
to display the tab.
I came up with the following:
<$set name="tabList" value={{{ [tag[Tab]]
:reduce[<storyTiddler>subfilter{!!condition}then<currentTiddler>addprefix[
]addprefix<accumulator>] }}}>
<$macrocall $name="tabs" tabsList=<<tabList>>/>
</$set>
This produces the correct result (well, as long as there are no spaces in
the titles of the tiddlers tagged *Tab*; I'm OK assuming that since there
indeed aren't any). The problem is that it is horrendously slow to run all
these filters. On my dev machine it is tolerable, but this is a machine
specced for serious processing power. On my MacBook Air it now takes 1–2
seconds to open a new tiddler, even without anything currently open!
Probably I am just asking TW to do too much on the fly here, but before I
start rethinking the project too hard, can anyone think of obvious
optimizations I might be missing here? The filters involved are moderately
complex (the basic pattern for each is to gather together links[],
backlinks[], and tagging[] for the story tiddler, then filter some things
out of that using + and !*operator*[]'s).
--
You received this message because you are subscribed to the Google Groups
"TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/tiddlywiki/56301178-d4b7-4a46-8c87-12da5ed5cd27n%40googlegroups.com.