Cleaning up the timeline

57 views
Skip to first unread message

passingby

unread,
Oct 11, 2010, 3:51:50 AM10/11/10
to TiddlyWiki
I wish to show just the content tiddler in my timeline. I want all the
system tiddlers like MainMenu, ColorPalette etc as well as the plugins
to be not shown in the timeline. One way would be to tag all these
with excludeLists, but then they would not show up in any list.
I could use betterTimeline macro from http://tw.lewcid.org/#BetterTimelineMacro
. With this macro I can specify a tag to exclude from timeline. But
what about system tiddlers with no tags like MainMenu or
ColoPalette ?
Is there an easier or better way?

colmjude

unread,
Oct 11, 2010, 4:48:40 AM10/11/10
to TiddlyWiki


On Oct 11, 8:51 am, passingby <passingby...@gmail.com> wrote:
> I wish to show just the content tiddler in my timeline. I want all the
> system tiddlers like MainMenu, ColorPalette etc as well as the plugins
> to be not shown in the timeline. One way would be to tag all these
> with excludeLists, but then they would not show up in any list.

I also have this thought from time to time. I sometimes wish there was
an 'excludeTimeline' tag that could be used for this purpose.

> I could use betterTimeline macro fromhttp://tw.lewcid.org/#BetterTimelineMacro
> . With this macro I can specify a tag to exclude from timeline. But
> what about system tiddlers with no tags like MainMenu or
> ColoPalette ?

System tiddlers like MainMenu and ColorPalette are shadow tiddlers in
tw and will only show in the timeline if they have been modified by
the user. If this is the case then there is no harm in tagging them
with whatever tag you wish to use.

colm

passingby

unread,
Oct 11, 2010, 5:13:25 AM10/11/10
to TiddlyWiki


On Oct 11, 1:48 pm, colmjude <colmj...@gmail.com> wrote:
> On Oct 11, 8:51 am, passingby <passingby...@gmail.com> wrote:
>
> > I wish to show just the content tiddler in my timeline. I want all the
> > system tiddlers like MainMenu, ColorPalette etc as well as the plugins
> > to be not shown in the timeline. One way would be to tag all these
> > with excludeLists, but then they would not show up in any list.
>
> I also have this thought from time to time. I sometimes wish there was
> an 'excludeTimeline' tag that could be used for this purpose.

There is actually such a plugin http://soloport.tiddlyspot.com/#ExcludeTimelinePlugin
But then the system plugins like ColorPalette still would need to be
tagged. I was thinking maybe there is a
*excludeShadowTiddlersFromTimeline* feature in some macro somewhere?

colmjude

unread,
Oct 11, 2010, 8:22:00 AM10/11/10
to TiddlyWiki


On Oct 11, 10:13 am, passingby <passingby...@gmail.com> wrote:
> On Oct 11, 1:48 pm, colmjude <colmj...@gmail.com> wrote:
>
> > On Oct 11, 8:51 am, passingby <passingby...@gmail.com> wrote:
>
> > > I wish to show just the content tiddler in my timeline. I want all the
> > > system tiddlers like MainMenu, ColorPalette etc as well as the plugins
> > > to be not shown in the timeline. One way would be to tag all these
> > > with excludeLists, but then they would not show up in any list.
>
> > I also have this thought from time to time. I sometimes wish there was
> > an 'excludeTimeline' tag that could be used for this purpose.
>
> There is actually such a pluginhttp://soloport.tiddlyspot.com/#ExcludeTimelinePlugin

Excellent, just what I wanted. Cheers for sharing this.

> But then the system plugins like ColorPalette still would need to be
> tagged. I was thinking maybe there is a
> *excludeShadowTiddlersFromTimeline* feature in some macro somewhere?

Not that I know of but personally if I'm editing the shadow tiddlers I
don't mind adding a tag so that it is excluded from the timeline.

Colm

Plausible

unread,
Oct 19, 2010, 1:17:47 PM10/19/10
to TiddlyWiki
For me the ExcludeTimelinePlugin results in excludeTimeline-tagged
tiddlers being excluded (as they should) but all the excludeLists-
tagged tiddlers being displayed (not so good!) in the timeline.

Looks like the line

var tiddlers =
store.reverseLookup("tags","excludeTimeline",false,field);

in the plugin is the culprit; if you substitute excludeLists for
excludeTimeline you get back the 'vanilla' behaviour.

I wouldn't know how to modify that code so that /both/ excludeTimeline
and excludeLists tagged stuff is effectively excluded. Anyone?

cheers, ~P

colmjude

unread,
Oct 28, 2010, 5:32:09 AM10/28/10
to TiddlyWiki
On Oct 19, 6:17 pm, Plausible <Verreh...@yahoo.com> wrote:
> For me the ExcludeTimelinePlugin results in excludeTimeline-tagged
> tiddlers being excluded (as they should) but all the excludeLists-
> tagged tiddlers being displayed (not so good!) in thetimeline.
>
> Looks like the line
>
>    var tiddlers =
> store.reverseLookup("tags","excludeTimeline",false,field);
>
> in the plugin is the culprit; if you substitute excludeLists for
> excludeTimeline you get back the 'vanilla' behaviour.
>
> I wouldn't know how to modify that code so that /both/ excludeTimeline
> and excludeLists tagged stuff is effectively excluded. Anyone?
>

I have written a plugin that overrides the original reverseLookup
function so that it can accept arrays of values for the lookupValue
parameter. You can get the plugin from http://colmbritton.tiddlyspace.com/#ReverseLookupOverride

With this installed you can then alter
store.reverseLookup("tags","excludeTimeline",false,field);
to
store.reverseLookup("tags",["excludeTimeline",
"excludeLists"],false,field);
or whatever else you wish

Let me know how you get on with that

Colm

--- ReverseLookupOverride Code ---
//{{{

(function(){

var _reverseLookup = TiddlyWiki.prototype.reverseLookup;

function oc(a)
{
if(typeof a === 'string'){
var a = [a];
}
var o = {};
for(var i=0;i<a.length;i++)
{
o[a[i]]='';
}
return o;
}

TiddlyWiki.prototype.reverseLookup =
function(lookupField,lookupValue,lookupMatch,sortField){
var results = [];

this.forEachTiddler(function(title,tiddler) {
var f = !lookupMatch;
for(var lookup=0; lookup<tiddler[lookupField].length; lookup++)
if(tiddler[lookupField][lookup] in oc(lookupValue))
f = lookupMatch;
if(f)
results.push(tiddler);
});
if(!sortField)
sortField = "title";
results.sort(function(a,b) {return a[sortField] < b[sortField] ?
-1 : (a[sortField] == b[sortField] ? 0 : +1);});
return results;
}

})();

//}}}
Reply all
Reply to author
Forward
0 new messages