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.

Reply via email to