Freelinks + alias

247 views
Skip to first unread message

blarg H

unread,
Apr 15, 2020, 11:25:49 PM4/15/20
to TiddlyWiki
Does anyone know how to get the new freelink plugin to work on Alias?

such as if I make a tiddler with Darwinism and I make an alias of "neodarwinism" to link to Darwinism, I would then like for every instance of "neodarwinism" to then link to Darwinism

TonyM

unread,
Apr 16, 2020, 9:45:01 AM4/16/20
to TiddlyWiki
Both are plugins so one or both will need to change to accommodate each other.

Jeremy freelinks
Mario alias plugin

Regards
Tony

blarg H

unread,
Apr 16, 2020, 10:28:45 AM4/16/20
to TiddlyWiki
Thanks Tony for the advice.

Would I then need to manually edit how the plugins function and do you have any idea how I can do this or even learn how?

Mat

unread,
Apr 16, 2020, 11:51:33 AM4/16/20
to TiddlyWiki
blarg H wrote:
Would I then need to manually edit how the plugins function and do you have any idea how I can do this or even learn how?

Yeah, someone would need to modify it yes. However I don't think both plugins would need modification and the reasonable one to ask for a modification would probably be Mario for the Alias plugin. He's a nice guy so maybe he can help :-)

<:-)

blarg H

unread,
Apr 16, 2020, 2:14:42 PM4/16/20
to TiddlyWiki
That would be quite nice. I am not currently using Marios alias plugin, do you have a link as I am struggling to find it anywhere.

Is there a guide on how to build plugins from scratch?. Do I use javascript?

Birthe C

unread,
Apr 16, 2020, 2:32:02 PM4/16/20
to TiddlyWiki
Find the link here


Birthe

blarg H

unread,
Apr 16, 2020, 3:04:56 PM4/16/20
to TiddlyWiki
Yeah there is definitely incompatibility here its also because I am using tiddlyblink with it as well. 

Mat

unread,
Apr 16, 2020, 3:21:03 PM4/16/20
to TiddlyWiki
blarg H wrote:
Is there a guide on how to build plugins from scratch?. Do I use javascript?

The "poor mans plugin" is actually just to tag all tiddlers that belong together with a shared tag. Then the tag itself can be used as a "handle" to drag'n drop that set of tiddlers as one unit even if they are still separate tiddlers.

Real plugins can be made from wikitext or from javascript. To create wikitext plugins, the simplest way is to use Andreas Hahns "Tinka plugin packer" - https://tinkaplugin.github.io/ . 

The Tinka plugin packer is not overly difficult to use but there are a few quirks so, for the 2017 Oxford Meetup, I made a presentation about Tinka https://www.youtube.com/watch?v=SP6ufs19q6c  (...yes, it could have been shorter).

<:-)


PMario

unread,
Apr 17, 2020, 4:51:31 AM4/17/20
to TiddlyWiki
On Thursday, April 16, 2020 at 9:04:56 PM UTC+2, blarg H wrote:
Yeah there is definitely incompatibility here its also because I am using tiddlyblink with it as well. 

Hi,
I did test both plugins together and there is no incompatibility. ... Both plugins do what they should do. Every plugin does it's own thing.

For me incompatibility is, if one of them ceases to work as intended, if they are activated both at the same time. That's not the case.

--------------

Alias links have a completely different concept as freelinks.

An alias link looks like this: [[alias|?]], [[alias|?t]], [[alias|?c]], [[alias|?s]] or [[alias|?field-name]]
So it allows authors to specify, if a case-insensitive alias, the title, the caption, the subtitle or any other field text is converted into a link.

alias text is only "linkified" if the author wants it. If an alias word is used several times imo only 1 of them should be a link.

--------------

freelink inspects the wikitext and tests it with a regexp, that contains every tiddler title. If the text contains a tiddler title, it creates a link. ...

I personally think this concept has a major flaw. eg:

 - I create a tag-tiddler named task.
 - If freelinks is active it will start to linkify every word "task" in every tiddler.
 - If a tiddler contains this word 10 times, all of them will be links.

I personally think this will lead to "unwanted" effects.

 - There will be links to tiddlers, that are _not_ related
 - Cognitive "link-overload" for readers. So there will be so many useless links, that the important ones are ignored.

just some thoughts
mario

Peter Buyze

unread,
Apr 17, 2020, 6:35:42 AM4/17/20
to TiddlyWiki forum
Mario,

thanks for pointing out that flaw ! I have a large number of tag-tiddlers of which the titles are in lower case letters, which means it is likely that some, if not all, are also used as regular words in text, and would therefore be linkified willy-nilly.


17 Apr 2020, 11:51 by pmar...@gmail.com:
--
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 tiddlywiki+...@googlegroups.com.

PMario

unread,
Apr 17, 2020, 8:12:26 AM4/17/20
to TiddlyWiki
On Thursday, April 16, 2020 at 5:25:49 AM UTC+2, blarg H wrote:
Does anyone know how to get the new freelink plugin to work on Alias?

such as if I make a tiddler with Darwinism and I make an alias of "neodarwinism" to link to Darwinism, I would then like for every instance of "neodarwinism" to then link to Darwinism

Hi,
Just to be sure. With the uni-link plugin comes a keyboard-shortcut  [CTRL]-[SPACE] which opens a dropdown with a search input for all aliases defined in the wiki.

So if you type [CTRL]-[SPACE] and

 - type [space] you get the full list
 - start typing you'll probably be faster typing the full link than the word

-mario

springer

unread,
Apr 22, 2020, 1:15:30 PM4/22/20
to TiddlyWiki
Getting an alias field to play well with freelinks is THE DREAM! 

To be clear: something like uni-link helps one kind of use-scenario -- the one where a single author is generating tiddler content, and is aware, while typing, of where there's an alias available.

My own case (perhaps like OP here, blarg H) is that I'm often pasting in text from elsewhere, and I just want all the resonances to other tiddler titles to self-recognize.

Jeremy's freelinks macro is GREAT for that! But simple things like capitalization and plurals get broken. And since I'm pasting in text from elsewhere (sometimes in a formal-citation context) it's really not appropriate for me to mangle the text itself.

I'm in no position to rewrite any plugins (least of all now, given my day-job). But I would actually pay real money for this work. And I'm not rich. :)

-E Springer

PMario

unread,
Apr 22, 2020, 2:57:30 PM4/22/20
to TiddlyWiki
On Wednesday, April 22, 2020 at 7:15:30 PM UTC+2, springer wrote:
Getting an alias field to play well with freelinks is THE DREAM! 

hmmm .. ok
 
To be clear: something like uni-link helps one kind of use-scenario -- the one where a single author is generating tiddler content, and is aware, while typing, of where there's an alias available.

That's a point
 
My own case (perhaps like OP here, blarg H) is that I'm often pasting in text from elsewhere, and I just want all the resonances to other tiddler titles to self-recognize.

A good point too.
 
Jeremy's freelinks macro is GREAT for that! But simple things like capitalization and plurals get broken. And since I'm pasting in text from elsewhere (sometimes in a formal-citation context) it's really not appropriate for me to mangle the text itself.

OK
 
I'm in no position to rewrite any plugins (least of all now, given my day-job). But I would actually pay real money for this work. And I'm not rich. :)

-E Springer

Hi,
Sometimes it needs posts like this, to broaden someone's (my) view, where it is too narrow-minded. ...

But ... I still have a problem. It's the potential performance hit with many 1000++ tiddlers

As Jeremy pointed out in the freelinks plugin description, the mechanism used is heavyweight, compared to the "normal" text parsing. Alias-linking is also relatively heavyweight, compared to standard links. It's similar to "backlink" handling.

Both mechanisms use internal caching, to speed up lookups. But we still have to rebuild this cache very often. This means we need to touch every single standard-tiddler, to build the cache.

So from my point of view, we need to make more tests with a huge amount of tiddlers, tags and aliases. With and without the plugins enabled, to be able to measure the "real impact".

My second concern is, about the "false positive" links that can happen if a tiddler is named "test" or "task" or "in" or "out" ... you name it. So I personally would prefer a

\define tv-freelinks() yes   

at the head of a tiddler, instead of globally enabling freelink handling. ... This doesn't reduce the time to create the cache, but it would limit the "false positive" links.

Thinking ... ;)

have fun!
mario

springer

unread,
Apr 22, 2020, 7:02:18 PM4/22/20
to TiddlyWiki
Mario,

Yes, I specifically confirmed with Jeremy that the target set of tiddlers could be limited, because of this performance hit... My wiki is not small (>800), but the demand for freelinking is really only about my vocabulary terms and proper name entries.) I am happy with a workflow that piggybacks on tags since they line up neatly with why I want freelinks... but a specific field-based variable would be fine too, and would help us interrupt nuisance freelinks to "will" (say) without having to untag it as a definition.

It's clear that the challenge with aliases is that it's a burden on processing. I'm still a bit astonished about this, since TWC had all of this desired behavior available (RedirectMacro), including with alias fields transparently woven in; it's only because TW5 is so much more efficient at *other* things that it can't efficiently handle this challenge. 

One low-hanging fruit would be to allow freelinks to be case-insensitive (or even just insensitive to Proper vs lower) so that one frequent cause for false negatives in ordinary pasted text is easily addressed. 

But then singular/plural variants are a close second, and then there are many other potential reasons to seek aliases of the kind that only the author of a wiki can anticipate...

Cheers, and thanks for helping to think through it!

-Springer

TonyM

unread,
Apr 22, 2020, 9:29:28 PM4/22/20
to TiddlyWiki
Mario,

\define tv-freelinks() yes  

But also a field or tag switch or viewTemplate trigger.

As I mentioned previously freelinks power is as a research and discovery tool, if we had a quick way to turn discovered free links into real links or aliases, or be able "back list", or "white list" items we could freely turn off freelinks after the design and analysis before publishing. ie the overhead is only present in passing.

Actually, There is an idea, take what is a discovered freelink and add it to a black list or white list entry, then use these lists to generate links and or alias's. 

Regards
Tony

Regards
Tony 
Reply all
Reply to author
Forward
0 new messages