In case any other folks out there are using the ForEachTiddler
RedirectMacro trick (I call it OmniRedirect) for a self-weaving (auto-
weave) effect -- which is very useful for sites that prefer natural-
language tiddler titles rather than WikiWords -- perhaps someone will
be inspired to troubleshoot this:

Firefox is fine, and even Safari for PC seems OK in limited VMware
tests... but Safari for Mac (both 3 and new beta 4) seems to leave out
about half of my implicit links -- AFAICT it's that certain tiddlers
remain entirely unprocessed; if a tiddler gets included, both its
official title and aliases seem to get recognized. I have not
discovered the fine-grained pattern of omissions, let alone the cause.
Since my sites are for public use, it's not enough that *I* know to
use Firefox; I can't expect visitors to switch for my sake.

Here's a site where someone might be able to confirm the difficulty in
action using Safari for Mac: http://words.tiddlyspot.com
You should see a link for "seeking" in the default "idea" tiddler,
since I have a tiddler by that name. But on Safari, no link.

For those unfamiliar with the trick, I'll point out that this solution
differs somewhat from the AutoWeave plugin (http://
weave.tiddlyspot.com) in that (1) you need not go back and edit-close
old tiddlers to get the effect of links to tiddlers created in the
interim (The RedirectMacro does all its magic when the page loads, so
a reload regenerates the connections between references and their
targets); and (2) these virtual links will get adjusted automatically
if tiddlers are renamed, deleted given new aliases, etc.; but (3) its
links are only virtual (not hard-written into the tiddler content), so
one doesn't get the benefit of the "references" toolbar function.)

Plugins required:
ForEachTiddler (http://tiddlywiki.abego-software.de/
#ForEachTiddlerPlugin)
Redirect Macro (http://checkettsweb.com/styles/
themes.htm#RedirectMacro)
TiddlerAliasPlugin (http://tiddlywiki.abego-software.de/
Beta.html#TiddlerAliasPlugin)

[note this last plugin is not entirely necessary, but it's great to
specify any tiddler's relevant plurals, variants, synonyms, etc., in
one central place.]

With those plugins running, one needs only this code in the MainMenu
(or other div that loads early):

<<forEachTiddler
   where
       '! tiddler.tags.containsAny([["excludeLists"]])'
   script '
       abego.redirectAliases = function(tiddler, redirectPattern) {
           var result = "";
           var s = store.getValue(tiddler,"alias");
           if (s) {
               var p = s.parseParams("list",null,false,true);
               for(var i=1; i<p.length; i++)
                   result += redirectPattern.format([p[i].value]);
           }
           return result;
       }'
   write
       '"<<redirect \""+tiddler.title+"\" [["+tiddler.title+"]]$))\n"+
       "<<redirect \""+tiddler.title.toLowerCase()
+"\" [["+tiddler.title+"]]$))\n"+
       abego.redirectAliases(tiddler,"<<redirect
\"%0\" [["+tiddler.title+"]]$))\n")'
>>
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"TiddlyWiki" group.
To post to this group, send email to TiddlyWiki@googlegroups.com
To unsubscribe from this group, send email to 
tiddlywiki+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/TiddlyWiki?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to