Presenting: a plugin which automatically relinks renamed tiddlers

1,362 views
Skip to first unread message

Flibbles

unread,
Sep 1, 2019, 10:27:19 PM9/1/19
to tiddl...@googlegroups.com
I present Relink!

It relinks fields, links, WikiLinks, widgets, transclusions, lists, and filters. It's highly customizable, but it will also work out of the box. It's robust, and can handle bizarre name changes. It works through whitelisting, so it doesn't change plaintext instances of a title, or other instances where an updated would be undesirable. It's also well tested (but still really new!!). It should be comprehensive.

Otherwise, I really hope everyone gets good use out of this. Having written it, I completely understand why this isn't a core feature. It was hard as crap! There are so many edge cases! I'm sure more will still crop up.

Edit: It now also supports macros, making it a fully comprehensive relinking plugin.



I would absolutely love to get some feedback. I really hope this helps people.

-Flibbles

Mohammad Rahmani

unread,
Sep 2, 2019, 12:55:50 AM9/2/19
to tiddl...@googlegroups.com
Wonderful Flibbles,

This is a must have plugin!



Best wishes
Mohammad


On Mon, Sep 2, 2019 at 6:57 AM Flibbles <challenge...@gmail.com> wrote:
I present Relink!

It relinks fields, links, WikiLinks, widgets, transclusions, lists, and filters. It's highly customizable, but it will also work out of the box. It's robust, and can handle bizarre name changes. It's well tested (but still really new!!). It should be comprehensive. The only thing it doesn't manage is macro arguments. If there's a lot of interest in that, I'll figure out how to get that working.

Otherwise, I really hope everyone gets good use out of this. Having written it, I completely understand why this isn't a core feature. It was hard as crap! There are so many edge cases! I'm sure more will still crop up.



I would absolutely love to get some feedback. I really hope this helps people.

-Flibbles

--
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.
To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywiki/32d77d15-9e87-4856-a42b-a0ffbb507e2f%40googlegroups.com.

TonyM

unread,
Sep 2, 2019, 2:26:44 AM9/2/19
to TiddlyWiki
This looks fantastic.

I suggest people try and break it and if and when they cant it be proposed for the standard distribution,

goodwork

Tony


On Monday, September 2, 2019 at 12:27:19 PM UTC+10, Flibbles wrote:
I present Relink!

It relinks fields, links, WikiLinks, widgets, transclusions, lists, and filters. It's highly customizable, but it will also work out of the box. It's robust, and can handle bizarre name changes. It works through whitelisting, so it doesn't change plaintext instances of a title, or other instances where an updated would be undesirable. It's also well tested (but still really new!!). It should be comprehensive. The only thing it doesn't manage is macro arguments. If there's a lot of interest in that, I'll figure out how to get that working.

Otherwise, I really hope everyone gets good use out of this. Having written it, I completely understand why this isn't a core feature. It was hard as crap! There are so many edge cases! I'm sure more will still crop up.

David Gifford

unread,
Sep 2, 2019, 10:19:35 AM9/2/19
to TiddlyWiki
I don't know what I like more, the awesome plugin, or the cute nickname 'Flibbles'. The former is amazing. The latter makes me want to rename my Pomeranian.

Dave

On Sunday, September 1, 2019 at 9:27:19 PM UTC-5, Flibbles wrote:
I present Relink!

It relinks fields, links, WikiLinks, widgets, transclusions, lists, and filters. It's highly customizable, but it will also work out of the box. It's robust, and can handle bizarre name changes. It works through whitelisting, so it doesn't change plaintext instances of a title, or other instances where an updated would be undesirable. It's also well tested (but still really new!!). It should be comprehensive. The only thing it doesn't manage is macro arguments. If there's a lot of interest in that, I'll figure out how to get that working.

Otherwise, I really hope everyone gets good use out of this. Having written it, I completely understand why this isn't a core feature. It was hard as crap! There are so many edge cases! I'm sure more will still crop up.

Flibbles

unread,
Sep 2, 2019, 11:49:17 AM9/2/19
to TiddlyWiki

I hope Relink works out for you. Let me know if you have any problems with it, and you should change your name. There aren't enough toy dogs in programming.

-Flibbles

David Gifford

unread,
Sep 2, 2019, 12:56:16 PM9/2/19
to TiddlyWiki
hahaha my Pomeranian's name is Muffin, which is already pretty cute. So I probably will leave her be. But Flibbles makes me think of flubber, bubbles and piddles.

David Gifford

unread,
Sep 2, 2019, 10:19:56 PM9/2/19
to TiddlyWiki
Relink has just given me a nice new workflow for taking notes on books:

1. Create tiddler for a book, and tag BookTOC
2. Paste table of contents from electronic book
3. Wrap chapter with a pretty link. Title the tiddler Book name (author last name), ch #
4. Add notes, and tag by topics. Adjust title to account for pages read, and not have to change anything in original TOC! Tag for status on reading progress (.noting / .transferring / .finished)

On Sunday, September 1, 2019 at 9:27:19 PM UTC-5, Flibbles wrote:
I present Relink!

It relinks fields, links, WikiLinks, widgets, transclusions, lists, and filters. It's highly customizable, but it will also work out of the box. It's robust, and can handle bizarre name changes. It works through whitelisting, so it doesn't change plaintext instances of a title, or other instances where an updated would be undesirable. It's also well tested (but still really new!!). It should be comprehensive. The only thing it doesn't manage is macro arguments. If there's a lot of interest in that, I'll figure out how to get that working.

Otherwise, I really hope everyone gets good use out of this. Having written it, I completely understand why this isn't a core feature. It was hard as crap! There are so many edge cases! I'm sure more will still crop up.

PMario

unread,
Sep 3, 2019, 5:15:46 AM9/3/19
to TiddlyWiki
Hi Flibbles,

That's a great plugin!

Since search and replace including every tiddler is a very "destructive" action, I personally would like to have a preview. Similar to the $:/Import dialogue. So I can see what's going on, before it's going on ;)

have fun!
mario

Flibbles

unread,
Sep 3, 2019, 7:35:13 AM9/3/19
to TiddlyWiki


@David Gifford: That's the kind of thing I like to hear. I'm glad it's made your life easier.

@PMario: So there's already a filter operator `[relink:references[]]` which shows which tiddlers would be changed by an update. Also, such a list is also presented in the TiddlerInfo tab Relink References. The only pause I have is what design would be best. As it is, I still reserve the space below the rename checkbox to notify the user about impossible renames (these are either from complex titles I don't support yet, or super complex situations where it literally is impossible, such as changing a list field title to `title ]] with brackets`). I'm concerned with making that space too crowded. But it may still be worth while.

-Flibbles

CJ Veniot

unread,
Sep 3, 2019, 10:55:25 AM9/3/19
to TiddlyWiki
I LOVE THIS !!!

A "tweaker" by nature, I avoid "writer's block" but setting up things as good enough for now, and then tweak over and over again as I get deeper in the weeds.

This plugin is oh-so-wonderful in helping me avoid paralysis by analysis (trying to get tiddler titles right the first time as I try to avoid the work involved in changing related links and transclusions all over the place).

Thank-you much !  Serious virtual hugs or, alternatively, fist-bumps ?

Cheers !


On Sunday, September 1, 2019 at 11:27:19 PM UTC-3, Flibbles wrote:
I present Relink!

It relinks fields, links, WikiLinks, widgets, transclusions, lists, and filters. It's highly customizable, but it will also work out of the box. It's robust, and can handle bizarre name changes. It works through whitelisting, so it doesn't change plaintext instances of a title, or other instances where an updated would be undesirable. It's also well tested (but still really new!!). It should be comprehensive. The only thing it doesn't manage is macro arguments. If there's a lot of interest in that, I'll figure out how to get that working.

Otherwise, I really hope everyone gets good use out of this. Having written it, I completely understand why this isn't a core feature. It was hard as crap! There are so many edge cases! I'm sure more will still crop up.

David Gifford

unread,
Sep 3, 2019, 11:06:02 AM9/3/19
to TiddlyWiki
One benefit I am seeing is that it makes the Rename tags plugin less necessary, because the tags change upon relinking.


On Sunday, September 1, 2019 at 9:27:19 PM UTC-5, Flibbles wrote:
I present Relink!

It relinks fields, links, WikiLinks, widgets, transclusions, lists, and filters. It's highly customizable, but it will also work out of the box. It's robust, and can handle bizarre name changes. It works through whitelisting, so it doesn't change plaintext instances of a title, or other instances where an updated would be undesirable. It's also well tested (but still really new!!). It should be comprehensive. The only thing it doesn't manage is macro arguments. If there's a lot of interest in that, I'll figure out how to get that working.

Otherwise, I really hope everyone gets good use out of this. Having written it, I completely understand why this isn't a core feature. It was hard as crap! There are so many edge cases! I'm sure more will still crop up.

@TiddlyTweeter

unread,
Sep 3, 2019, 12:52:09 PM9/3/19
to TiddlyWiki
Flibbles wrote:
I present Relink!

Nice tool! Well thought through.

As a couple of people already remarked its excellent for writing "emergent" documents where titles and cross-links are not yet settled. 

By being to able re-link with such ease its a serious assistant for authors.

Best wishes
TT

Mark S.

unread,
Sep 3, 2019, 5:34:57 PM9/3/19
to TiddlyWiki
Looks great!

I pretty much don't use links any more, because of the relinking problem. But I do use transclusions.
Would it be possible to apply your plugin to change transclusions that use standard TW markup?

Thanks!

On Sunday, September 1, 2019 at 7:27:19 PM UTC-7, Flibbles wrote:
I present Relink!

It relinks fields, links, WikiLinks, widgets, transclusions, lists, and filters. It's highly customizable, but it will also work out of the box. It's robust, and can handle bizarre name changes. It works through whitelisting, so it doesn't change plaintext instances of a title, or other instances where an updated would be undesirable. It's also well tested (but still really new!!). It should be comprehensive. The only thing it doesn't manage is macro arguments. If there's a lot of interest in that, I'll figure out how to get that working.

Otherwise, I really hope everyone gets good use out of this. Having written it, I completely understand why this isn't a core feature. It was hard as crap! There are so many edge cases! I'm sure more will still crop up.

Flibbles

unread,
Sep 3, 2019, 5:37:25 PM9/3/19
to TiddlyWiki
You mean syntax like:

{{MyTiddler!!field}}

or

<$widget attribute={{MyTiddler}} />

Because those cases are both already covered. The only syntax that's not managed yet are macrocalls, and that'll only take me another couple of days to finish.

Mark S.

unread,
Sep 3, 2019, 5:49:05 PM9/3/19
to TiddlyWiki
My apologies for speed-reading ;-)

PMario

unread,
Sep 4, 2019, 6:04:50 AM9/4/19
to TiddlyWiki
On Tuesday, September 3, 2019 at 1:35:13 PM UTC+2, Flibbles wrote:
...
@PMario: So there's already a filter operator `[relink:references[]]` which shows which tiddlers would be changed by an update.

That's interesting to see. I'll have a closer look.

-m

Flibbles

unread,
Sep 6, 2019, 8:26:47 PM9/6/19
to TiddlyWiki
Version 1.5 released. Macro parameter relinking is now supported. It comes with its own whitelist.

(e.g. <<myMacro tiddlerNameToRelink>> or <$macrocall $name=myMacro param="tiddlerNameToRelink" />)

Now Relink can rename any kind of WikiText pattern.

Also, bugfixes.

-Flibbles

TonyM

unread,
Sep 6, 2019, 9:13:45 PM9/6/19
to TiddlyWiki
Wow

Good work.

Thanks
Tony

Mohammad Rahmani

unread,
Sep 7, 2019, 12:14:45 AM9/7/19
to tiddl...@googlegroups.com
This is great!
I am thinking how can I merge this into Tiddler Commander plugin!
Tiddler commander has features to rename the Tiddler in many ways
  1. use a new name
  2. remove prefix
  3. remove suffix
  4. use SNR to search and replace part of name
So, having relink take care of renaming tiddlers would be great!


Best wishes
Mohammad


--
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,
Sep 7, 2019, 4:47:55 AM9/7/19
to TiddlyWiki
On Saturday, September 7, 2019 at 6:14:45 AM UTC+2, Mohammad wrote:
This is great!
I am thinking how can I merge this into Tiddler Commander plugin!

Why do you want to merge it. ... Try to use it as a plugin, and let the users decide if they want to install both plugins.

-m

Mohammad Rahmani

unread,
Sep 7, 2019, 7:01:40 AM9/7/19
to tiddl...@googlegroups.com
Hi Mario,
 Because when I rename a tiddler using Tiddler commander, it does not update links and etc.
I have to connect these two some how!


Best wishes
Mohammad


--
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.

Flibbles

unread,
Sep 7, 2019, 7:57:37 AM9/7/19
to TiddlyWiki
@Mohammad

I looked into total commander and I see why they don't integrate. Unfortunately, I think the change would have to be on Total Commander's side. Their tiddler renaming stuff is done like,

 <$action-setfield      $tiddler=<<currentTiddler>> title=<<newTitle>> />
 <$action-deletetiddler $tiddler=<
<currentTiddler>> />

Which is technically just making a new tiddler, and deleting another. Action-setfield doesn't call the renaming hooks. If it were instead,

<$action-sendmessage $message="tm-rename-tiddler" from=<<currentTiddler>> to=<<newTitle>> />

Then it should all work together.

-Flibbles

On Saturday, September 7, 2019 at 7:01:40 AM UTC-4, Mohammad wrote:
Hi Mario,
 Because when I rename a tiddler using Tiddler commander, it does not update links and etc.
I have to connect these two some how!


Best wishes
Mohammad


On Sat, Sep 7, 2019 at 1:17 PM PMario <pmar...@gmail.com> wrote:
On Saturday, September 7, 2019 at 6:14:45 AM UTC+2, Mohammad wrote:
This is great!
I am thinking how can I merge this into Tiddler Commander plugin!

Why do you want to merge it. ... Try to use it as a plugin, and let the users decide if they want to install both plugins.

-m

--
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 tiddl...@googlegroups.com.

Mohammad Rahmani

unread,
Sep 7, 2019, 9:19:01 AM9/7/19
to tiddl...@googlegroups.com
Hi Flibbles
Thank you for update!
Yes, Tiddler Commander is a pure TW script and does not use any JS. 
So, the current technology at tiddlywiki.com is to create a new tiddler!

By the way it is tracking of a relink seems to be much more complicated to be done using Tiddler Commander or pure TW scripts.

Best wishes
Mohammad


To unsubscribe from this group and stop receiving emails from it, send an email to tiddlywiki+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywiki/1ffadd14-7df5-4b82-be30-bdfb12e70363%40googlegroups.com.

Flibbles

unread,
Sep 7, 2019, 10:29:07 AM9/7/19
to TiddlyWiki
...I don't follow.

It sounds like you're saying Relink should be the one to bridge the gap because it uses JS, but I can't.

I get that Tiddler Commander is pure TW script, but it's still possible for it to do legit renaming. Tiddlywiki.com has the means to rename tiddlers rather than just create and delete them. The change I've outlined above would adjust Tiddler Commander to properly rename tiddlers, and it'd only take about 5 minutes to do. I'd do it myself, except the Tiddler Commander source only contains the compiled plugin for some odd reason. If you want integration, I'd suggest making an issue in Kookma github page and copy and paste my last two posts.

-Flibbles

On Saturday, September 7, 2019 at 9:19:01 AM UTC-4, Mohammad wrote:
Hi Flibbles
Thank you for update!
Yes, Tiddler Commander is a pure TW script and does not use any JS. 
So, the current technology at tiddlywiki.com is to create a new tiddler!

By the way it is tracking of a relink seems to be much more complicated to be done using Tiddler Commander or pure TW scripts.

Best wishes
Mohammad


Mohammad Rahmani

unread,
Sep 7, 2019, 10:50:33 AM9/7/19
to tiddl...@googlegroups.com
Hi Flibbles,
 No, I did not said this should be done on Relink side! Yes, it is on Tiddler Commander side!
By the way, I appreciate if you explain me how to do this using pure TW script!

As you mentioned in your previous post Tiddler Commander uses

 <$action-setfield      $tiddler=<<currentTiddler>> title=<<newTitle>> />
 <$action-deletetiddler $tiddler=<
<currentTiddler>> /> 

That's true! but if I want to do this without create-delete actions how it is possible

Tiddlywiki.com has the means to rename tiddlers rather than just create and delete them.  


Best wishes
Mohammad


To unsubscribe from this group and stop receiving emails from it, send an email to tiddlywiki+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywiki/6bdc2848-32a8-448d-843a-e0a7ac24b480%40googlegroups.com.

Flibbles

unread,
Sep 7, 2019, 10:54:37 AM9/7/19
to TiddlyWiki
Hey @Mohammad, didn't realize you were Kookma.

Does this not work?

<$action-sendmessage $message="tm-rename-tiddler" from=<<currentTiddler>> to=<<newTitle>> />

This works for me. I posted that previously in the same response where I posted what lines would need to be changed. Perhaps you missed it?

-Flibbles

On Saturday, September 7, 2019 at 10:50:33 AM UTC-4, Mohammad wrote:
Hi Flibbles,
 No, I did not said this should be done on Relink side! Yes, it is on Tiddler Commander side!
By the way, I appreciate if you explain me how to do this using pure TW script!

As you mentioned in your previous post Tiddler Commander uses

 <$action-setfield      $tiddler=<<currentTiddler>> title=<<newTitle>> />
 <$action-deletetiddler $tiddler=<
<currentTiddler>> /> 

That's true! but if I want to do this without create-delete actions how it is possible

Tiddlywiki.com has the means to rename tiddlers rather than just create and delete them.  


Best wishes
Mohammad


Mohammad Rahmani

unread,
Sep 7, 2019, 11:03:39 AM9/7/19
to tiddl...@googlegroups.com
Hey Flibbles,

 No problem :-)

So, does this new tm-rename-tiddler need Relink plugin?


Best wishes
Mohammad


To unsubscribe from this group and stop receiving emails from it, send an email to tiddlywiki+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywiki/b2045cf6-5c6a-4779-b9ed-32833cb25bed%40googlegroups.com.

Flibbles

unread,
Sep 7, 2019, 11:05:15 AM9/7/19
to TiddlyWiki
No, it doesn't. It's a core feature.

-Flibbles

On Saturday, September 7, 2019 at 11:03:39 AM UTC-4, Mohammad wrote:
Hey Flibbles,

 No problem :-)

So, does this new tm-rename-tiddler need Relink plugin?


Best wishes
Mohammad


Mohammad Rahmani

unread,
Sep 7, 2019, 11:14:12 AM9/7/19
to tiddl...@googlegroups.com
Many thanks Flibbles!
I got the point! This way the Relink should be triggered!

Cheers
Mohammad

Jan

unread,
Sep 7, 2019, 2:28:55 PM9/7/19
to tiddl...@googlegroups.com
Really Great,
This is so important that it should be a core-feature.

Thanks for sharing


Am 02.09.2019 um 04:27 schrieb Flibbles:
I present Relink!

It relinks fields, links, WikiLinks, widgets, transclusions, lists, and filters. It's highly customizable, but it will also work out of the box. It's robust, and can handle bizarre name changes. It's well tested (but still really new!!). It should be comprehensive. The only thing it doesn't manage is macro arguments. If there's a lot of interest in that, I'll figure out how to get that working.

Otherwise, I really hope everyone gets good use out of this. Having written it, I completely understand why this isn't a core feature. It was hard as crap! There are so many edge cases! I'm sure more will still crop up.



I would absolutely love to get some feedback. I really hope this helps people.

-Flibbles
--
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.
To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywiki/32d77d15-9e87-4856-a42b-a0ffbb507e2f%40googlegroups.com.

TonyM

unread,
Sep 15, 2019, 11:58:48 PM9/15/19
to TiddlyWiki
Fibbles,

I was impressed with the potential of relink and received a request by a client who uses a large Tiddlywiki database to allow them to change someones name to their married name. The persons name a tiddler title itself, is recorded in a range of fields and relink seems to detect them all. However I have names mentioned in text fields such as a note saying "Old name" was renamed to "new name" which I would like to exclude. Of course I assume I can change the configuration to stop this. However changing office names is also needed and these reside in another set of fields. I assume just whitelisting all the list fields for all the tiddlers I may wish to rename would work fine. 

However I am just wondering, I could in this case delete all the rules that impact widgets, macro and filters because none of these should contain something the user has any reason to rename. In some ways making it less "pervasive" is possibly a wise design strategy, or is it?, what if they rename a critical system tiddler? Would I prefer this to be relinked or would it be best to prohibit relinking on system tiddlers?

I am not sure there is a way for us to selectively filter to what relink applies to?

One idea may be to place a filter such that the relink action (when renaming) does not appear, or take place on tiddlers that do not match the filter. This would allow me to set a filter like
[all[current]object-type[office]] [all[current]object-type-person]]
which would use relink on the resulting tiddlers and any other tiddler not in this filter would not permit relinking. Then as a designer I could change this filter so relink will work for me when I am undertaking designer activity and become active on say system tiddlers macros etc...

I am yet to work through the extensive details of your wonderful plugin and determine how it can best be used in a range of scenarios. It seems to me this is not only a great tool to use to support end users, but to assist in the development process. 

if I do not understand enough yet let me know, It would or could it be desirable to have different relink configurations for different cases for example for office and person do not relink items found in the text field, but for tiddlers tagged $:/tags/Macro update all occurrences except in tiddlers with the prefix $:/backup or $:/trashbin

This is only food for thought, so please do not feel any pressure for a refactor or re-write. I would be interested in your view.

Thanks In advance
Tony



On Monday, September 2, 2019 at 12:27:19 PM UTC+10, Flibbles wrote:
I present Relink!

It relinks fields, links, WikiLinks, widgets, transclusions, lists, and filters. It's highly customizable, but it will also work out of the box. It's robust, and can handle bizarre name changes. It works through whitelisting, so it doesn't change plaintext instances of a title, or other instances where an updated would be undesirable. It's also well tested (but still really new!!). It should be comprehensive.

Otherwise, I really hope everyone gets good use out of this. Having written it, I completely understand why this isn't a core feature. It was hard as crap! There are so many edge cases! I'm sure more will still crop up.

Edit: It now also supports macros, making it a fully comprehensive relinking plugin.

Flibbles

unread,
Sep 16, 2019, 12:52:26 PM9/16/19
to TiddlyWiki
Hey @TonyM

So, I'm a little confused. It sounds like you you might be proposing two possibilities:
  1. Have a filter which can be used to exclude tiddlers from being touched by Relink. Currently all non-shadow tiddlers are touched. But a filter would be feasible.
  2. Propose having different relink configuration profiles for different categories of tiddlers. This sounds very complicated, not so much to design, but to present to the end-user.
I'm also a little confused by your mention of the text field, I assume you mean a tiddler's text field, which refers to the body. Your example of text content was a note '"Old name" was renamed to "new name"'. But plain text like that wouldn't be touched anyway. Relink only targets reference-related instances of a renamed title.

As to the dangers of renaming a dangerous system tiddler, I think I'd need to see an example. Since Relink doesn't touch shadow tiddlers, I'm not sure what harm could be done. The only tiddlers referencing shadow tiddlers are other shadow tiddlers, I believe. And I don't know of any system tiddlers that would break anything down if they were touched.

Avoiding tiddlers like $:/backup or $:/trashbin might be examples. I guess they have some plugin or module that's creating and maintaining that. The solution to that ties into the first proposal I think you're putting forward: reasonable, though I would do something a bit more intricate than just a filter the user edits, so that plugins could introduce their own tiddlers to be exempt from relinking.

Am I understanding you correctly?
-Flibbles

TonyM

unread,
Sep 16, 2019, 7:29:18 PM9/16/19
to TiddlyWiki
Fibbles,

Thanks for taking the time to consider this. 

I see now that there is a bit more complexity than I first thought. I will keep this as clear as possible.

1. Yes a filter to exclude the tiddlers for which relink happens - eg allow relinking on tiddlers with [has[fieldname]] or not on system tiddlers [!is[system]]
2. Yes, I am keen to have different categories but I agree we need to find a clearer way to conceptualise, and keep the code and operation simple. I think I found this below.

Ahh I see what you mean by plain text like that wouldn't be touched anyway. That is what I need. However when I rename some tiddlers I find it wants to rename the title inside import records, trashbin and more. So Item 1 and my suggestion below should help here.

I think the simplest way forward would be to provide a filter that determines if the relink is visible or not during rename. The designer could use this to exempt or include relink on whatever tiddlers they wish. For example in my database I would have a list of values in the object-type field eg people office list-tiddler that allows relink to occur on those tiddlers only. This means I need not concern myself with the user renaming other tiddler types beyond the damage that rename itself will cause. Lets call this the "rename filter". Remember that for rename to work correctly, I need to list all the fields to look in, to support rename, until I determine those I do not want people renaming the tiddlers.

Now the relinking process. Once a tiddler is allowed to be relinked at rename time there are global settings that determine what to "search" for and rename. This is very comprehensive thank you. Using the info tab quickly shows what tiddlers will be impacted, again thanks. But as noted before I sometimes see tiddlers that will be affected that I do not want affected. Of course in some circumstances I want a comprehensive rename, in others no, so we would think different configurations would be desirable. But I am not sure this is necessary to get the same result.

Again another filter here would be helpful  - lets call this the "change filter".

Perhaps you could consider introducing two variables that defines a "rename filter" and "change filter". The designer can set these either globally and/or override them locally (for example in edittemplate for particular tiddlers). I am not exactly sure how to set this yet. These filters could be applied inside relink using the equivalent of the subfilter operator to further limit the tiddlers affected.

For example in the edit template I could set on a subset of tiddlers the following filters (in a variable)
  • my rename filter may read "[has[object-type]!object-type[system]]" to show relink on any tiddler with the object-type field - except system tiddlers.
  • my Change filter could read "[!is[system]]" stopping the $:/trashbin and other tiddlers being changed. The old names will remain in the trash.
But then If I were renaming other tiddlers the above filters may not apply.

So We are not introducing different configurations but we are allowing the rename filter to determine on what tiddlers relink will occur and we are allowing the change filter to limit what tiddlers will be affected by the rename. 

Some assides.

I am yet to work through the full implications of your relink plugin but I think they are revolutionary. Why? - because we now have a system by which we can maintain data integrity while renaming the primary key. Expect future posts on this from me.

I am also playing with a little utility to help me identify quickly the fields I may need to add to the relink settings. For example list all people, then search all fields in which one of more people titles appear and list the all fieldnames in which they appear. These fieldsnames need to be considered for addition to relink.

Thanks so much for your work
Tony

Flibbles

unread,
Sep 16, 2019, 10:08:00 PM9/16/19
to TiddlyWiki
First, a question:

What is this $:/trashbin stuff? Is this a tiddlywiki feature I'm unaware of, or is it something to do with an unrelated plugin? Depending on which it is, it takes a different approach. If this is some core features, then Relink should ignore it by default. If it's a plugin something, then the plugin should have a way to integrate with Relink and exclude $:/trashbin without the user needing to input anything.

Next. I'm having a little trouble following your use-case, but sounds like not just the ability to select which tiddlers are eligible for relinking, but to make it possible for the eligible tiddlers to vary depending on the tiddler being renamed.

And I'm unclear, but it sounds like not only that, but you want to be able to configure which fields, macros, widgets, and operators get updated per tiddler. So a `person-office` list field might get updated on tiddler A, but not tiddler B.

I'll be honest with you, TonyM. These sounds like super advanced use cases. I'm very concerned that encoding Relink to handle all this will detract from Relink's elegance. It already has four whitelists which I'm worried daunt casual users.

But how about this. Let's say Relink had one "General" configuration page which allowed you to input an ignore filter. Tiddlers that pass through that filter will not be updated. But here's the cool part. The currentTiddler variable for that filter is set to the name of the tiddler being renamed (or maybe it'll be set to fromTiddler, and there'll be toTiddler). That way, a user can make the filter sensitive to the tiddler being renamed, and adjust what tiddlers would pass through the filter. Would this be a solution for your problem?

And if you still need more sophistication than that, I'd more likely say the solution would be to improve Relink's hackability, so we can make a mod for your specific case, but your case does sound super specific. (Or maybe it isn't. I haven't gotten much feedback from anyone yet.)

-Flibbles

TonyM

unread,
Sep 16, 2019, 11:37:16 PM9/16/19
to tiddl...@googlegroups.com
Flibbles,

I will try and express myself better. I do not think these are special or advanced features, I think they may be essential.

But yes, All I am asking for is a little increased hackability. 

First your solution is so good already, that its only because it is so close to a universal solution, I feel I need to point this out. And perhaps I have missed something about its current behaviour and I am happy to be corrected.

Your question re trashbin, The trashbin is just a plugin, and like other plugins it stores things behind the $:/ prefix. The fact that relink can reach into these tiddlers and modify them is new to tiddlwiki and sometimes will be illogical. If I delete a tiddler it goes into the trash bin and I may want it to remain there and not have relink touch it, otherwise it will no longer contain what it contained when I deleted it.

With all due respect every other plugin should not need to be designed to deal with any other "Specific" plugin so Mohamad's Trashbin plugin should not need to know about the relink plugin. Even if it did, how does it exclude itself from relink?. However there is immense value of providing some simple filter configurations so relink can accommodate any or all future plugins by being able to reduce or limit the scope of what it changes if necessary.

There are two issues and I believe are general in nature and may be an issue for many;

Currently
  1. On which tiddlers does relink occur?
    Presently any tiddler you attempt to rename (Except shadow tiddlers)
  2. Which tiddlers are changed by relink?
    Any for which a complex set of search conditions are true
1. I would like to disable or enable the relink feature by filter setting.
    Until I have provided the appropriate additional fields for relink to operate with - in Plugin > Configuration > Fields,  any relink will be incomplete. 
    In a published wiki, not in development It may be better not to permit users to edit and relink system tiddlers 
    Although its wonderful that relink can help keep a database or tiddler valid with relinking.

2. I would love to be able to simply exclude some tiddlers from update by relink according to a filter. For example I may want a log, a trashbin a set of test data or anything not be updated. Relink already lets me see what It will affect when relinking inside the info tab. If I discover the rules will impact some tiddlers I do not want it to, a "rename filter" could allow me to exclude them. 

Personally I build a range of solutions in system tiddlers that are not delivered by plugin thus have do not have a shadow tiddler, they will be effected by relink even when I do not want them to. If import a bundle of tiddlers built elsewhere there is a chance they may contain something that relink will change inappropriately, A project I am starting now actually generates additional wikis, so I have tiddlers in my wiki that are not part of the current wiki but provide input to the wiki generation process. There is a danger that these will inadvertently have code "relinked" within them if I can't exclude them. This is even more likely to occur if I use good naming conventions in my code. There are also circumstances where a local variable is set to override a global setting and we may be happy for relink to impact the global but not the local. 

Item 1 Code change Proof of concept
Att https://flibbles.github.io/tw5-relink/ I changed $:/core/ui/EditTemplate/title to demonstrate excluding relink on system tiddlers
<$vars fromTitle={{!!draft.of}} toTitle={{!!draft.title}}>
<$list filter="[{!!draft.of}!is[system]]" variable=nul>
<$checkbox tiddler="$:/config/RelinkOnRename" field="text" checked="yes" unchecked="no" default="no"> {{$:/language/EditTemplate/Title/Relink/Prompt}}</$checkbox>

<<conditional-list impossibles EditTemplate/Title/Impossibles/Prompt "[{!!draft.title}relink:impossible
<fromTitle>]">>

<<conditional-list references EditTemplate/Title/References/Prompt "[relink:references
<fromTitle>!title[$:/StoryList]sort[title]]">>
</$list>
</$vars>
The above works, relink will not even appear on system tiddlers.

We could replace !is[system] with an appropriate reference to the exclude filter.

I believe you could apply a filter to the list of tiddlers relink is about to change and and thus we will also have the ability to exclude some tiddlers that would otherwise change because of an existing 

And I'm unclear, but it sounds like not only that, but you want to be able to configure which fields, macros, widgets, and operators get updated per tiddler. So a `person-office` list field might get updated on tiddler A, but not tiddler B.

Yes in effect, but, In this case if tiddler B is named "$:/trashbin/tiddler B" yes person-office will not be touched (in "$:/trashbin/tiddler B")   if I excluded with "-[prefix[$:/trashbin/]]"
Not any more complicated than this.

Regards
Tony
 

Flibbles

unread,
Sep 17, 2019, 7:15:35 AM9/17/19
to tiddl...@googlegroups.com
In my defense, core vanilla Tiddlywiki will relink system tiddlers on a rename, and I decided to keep vanilla behavior as much as possible. If automatically changing system tiddlers is a problem, then perhaps it should also be submitted as an undesirable behavior to the Tiddlywiki bug tracker.

Otherwise, it sounds like all you need is a relink filter on Relink's general settings page. This filter specifies which tiddlers get touched during a rename. And it's default value would be `[all[]]` or `[all[]!is[system]]`

As for disabling Relink when the user is editing system tiddlers, I'm inclined to let them just uncheck the checkbox, particularly since a working solution for that would actually involve altering the underlying javascript). If someone's comfortable enough to edit a system tiddler, then surely they're comfortable enough to decide whether Relink should or shouldn't work its magic.

Although it does sound like you're working with a case where there are multiple users, and authorization schemes. If that's the case, I'll make sure Relink is hackable enough that your desired behavior is obtainable with a single system tiddler or so.

-Flibbles

TonyM

unread,
Sep 17, 2019, 7:44:55 AM9/17/19
to TiddlyWiki
Thanks

No need to defend yourself. This is a fantastic solution.

What changes you can make would be great and I will hack my self the rest of the way.

My needs are far less complex than you think and in time I may provide some helpful examples.

Regards
Tony

CJ Veniot

unread,
Sep 20, 2019, 7:23:53 PM9/20/19
to TiddlyWiki
G'day Flibbles,

I've got an internal javascript error with my TiddlyWiki which happens consistently in IE 11, but never on my Chromebook.

The problem goes away when Relink is disabled.

Flibbles

unread,
Sep 20, 2019, 10:22:57 PM9/20/19
to TiddlyWiki
Yes. This problem is coming from Relink. I was unaware that IE11 doesn't allow backtick syntax. I will have that fixed tomorrow. Too much to do tonight.

Thank you for reporting this issue. I've created a bug report for it here. I'll be posting any further developments on the issues, such as when a fix is pushed, there.

-Flibbles

CJ Veniot

unread,
Sep 21, 2019, 8:32:38 AM9/21/19
to TiddlyWiki
As we would say back home: "pas de panic".  In the meantime, really easy to disable Relink just before "deploying" my tiddlywiki instance.

Flibbles

unread,
Sep 21, 2019, 4:13:15 PM9/21/19
to TiddlyWiki
@CJ Veniot: I think Relink supports IE11 now. I wasn't able to get it to crash anymore while using that browser (but there may be something hidden you'll encounter some day. If you do, let me know)

@TonyM: I've got basic support for changing which tiddlers get updated. It's got more work to do, but it's at a state where you can use it, and let me know if it's not what you need.

CJ Veniot

unread,
Sep 23, 2019, 7:19:05 PM9/23/19
to TiddlyWiki
G'day Flibbles,

I gave that a spin today, and whatever magic you did fixed that problem.  Thank-you !

Pit.W.

unread,
Oct 2, 2019, 5:21:56 PM10/2/19
to tiddl...@googlegroups.com

Tony,

I second this notion

Pit.W

Am 02.09.2019 um 08:26 schrieb TonyM:
This looks fantastic.

I suggest people try and break it and if and when they cant it be proposed for the standard distribution,

goodwork

Tony


On Monday, September 2, 2019 at 12:27:19 PM UTC+10, Flibbles wrote:
I present Relink!

It relinks fields, links, WikiLinks, widgets, transclusions, lists, and filters. It's highly customizable, but it will also work out of the box. It's robust, and can handle bizarre name changes. It works through whitelisting, so it doesn't change plaintext instances of a title, or other instances where an updated would be undesirable. It's also well tested (but still really new!!). It should be comprehensive. The only thing it doesn't manage is macro arguments. If there's a lot of interest in that, I'll figure out how to get that working.

Otherwise, I really hope everyone gets good use out of this. Having written it, I completely understand why this isn't a core feature. It was hard as crap! There are so many edge cases! I'm sure more will still crop up.



I would absolutely love to get some feedback. I really hope this helps people.

-Flibbles
--
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.
To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywiki/e763de39-11f0-453b-a5a6-24bdfaa9e400%40googlegroups.com.


_________________________________________________________________
________________________________________________________
Ihre E-Mail-Postfächer sicher & zentral an einem Ort. Jetzt wechseln und alte E-Mail-Adresse mitnehmen! https://www.eclipso.de


Rahul Kashyap

unread,
Mar 14, 2020, 9:16:35 PM3/14/20
to TiddlyWiki
Dear Flibbles,

Thanks a lot for this plugin. This gives another reason to stick with TW as I've been developing tons of materials here. 
However, I was trying to understand how to provide my own custom list for any particular macro. 

For example, I use <<details sum:"[[ tiddler_name ]] " src:"{{ tiddler_name }}" >> macro (from https://kookma.github.io/TW-Shiraz/) a lot in order to maintain a heirarchy of material for graduate materials and research work for my work (in Physics). 
Relink wasn't updating the links and transclusions in the parameters, sum, and src. How should I make Relink recognize that?  

Thanks again,  
-Rahul


On Friday, September 6, 2019 at 8:26:47 PM UTC-4, Flibbles wrote:
Version 1.5 released. Macro parameter relinking is now supported. It comes with its own whitelist.

(e.g. <<myMacro tiddlerNameToRelink>> or <$macrocall $name=myMacro param="tiddlerNameToRelink" />)

Now Relink can rename any kind of WikiText pattern.

Also, bugfixes.

-Flibbles

On Sunday, September 1, 2019 at 10:27:19 PM UTC-4, Flibbles wrote:
I present Relink!

It relinks fields, links, WikiLinks, widgets, transclusions, lists, and filters. It's highly customizable, but it will also work out of the box. It's robust, and can handle bizarre name changes. It works through whitelisting, so it doesn't change plaintext instances of a title, or other instances where an updated would be undesirable. It's also well tested (but still really new!!). It should be comprehensive.

Otherwise, I really hope everyone gets good use out of this. Having written it, I completely understand why this isn't a core feature. It was hard as crap! There are so many edge cases! I'm sure more will still crop up.

Edit: It now also supports macros, making it a fully comprehensive relinking plugin.

Flibbles

unread,
Mar 14, 2020, 9:52:51 PM3/14/20
to TiddlyWiki
Sooo, this is a strange case. What's happening with your macro call is that the string "[[ tiddler_name ]]" is being transplanted directly into a chunk of text which is then being interpreted as wikitext. And it's only then that tiddlywiki recognizes it as a link. The parameters sum and src are otherwise treated as plaintext since those parameters aren't specified as being links OR references. And it wouldn't be possible to configure Relink to view them as such since they're valid as either, or neither. I really wish Relink were completely a "It just works" plugin, but this is one case where you'll need to do something so Relink will recognize what to do.

1.
\define link-to-tiddler() [[ tiddler_name ]]


<$macrocall $name="details" sum=<<link-to-tiddler>> />

<!-- This works because Relink interprets the bodies of macros as wikitext, and this will relink the link as expected. -->


2.
<$macrocall $name="details" src={{ tiddler_name }} />


<!-- this works by allowing the indirect reference to be processed before being passed into the macro. Relink will recognize this form just fine and relink as needed.
However, this doesn't work for your sum parameter from your example, since it looks like you want the LINK to the tiddler to be passed, not the contents. -->


I guess your full solution may be:
\define link-to-tiddler() [[ tiddler_name ]]


<$macrocall $name="details" sum=<<link-to-tiddler>> src={{ tiddler_name }} />

Hope this helps.
Flibbles

Flibbles

unread,
Mar 14, 2020, 9:59:02 PM3/14/20
to TiddlyWiki
Hold up. If you find yourself making this exact pattern a lot:
<<details sum:"[[ tiddler ]]" src="{{ tiddler }}" >>

Then you could wrap it in another macro to keep it neat.

\define details_for_tiddler(tiddler) <$macrocall $name="details" sum="[[ $tiddler$ ]]" src="{{ $tiddler$ }}" />

Then you could configure Relink to relink the "tiddler" parameter of "details_for_tiddler" quite simply, since it would always be a title parameter. You'd go to the Relink configuration page, then to "Macros", and you'd "Add a new macro parameter" where "macro"="details_for_tiddler" and "parameter"="tiddler". After you add, the type would default to "title", which is what you want.

-Flibbles

Flibbles

unread,
Mar 14, 2020, 10:13:51 PM3/14/20
to TiddlyWiki
Actually, scratch everything I said. It should be possible for Relink to recognize the sum and src parameters. I just need to introduce another fieldType. Currently, there is "title", "list", "reference", and "filter". If there is a fifth, "wikitext", then macro parameters can be treated as such, as well as fields, widget attributes, and list operators.

This'll take me a several days to properly code. My workarounds will work in the meantime.

Rahul Kashyap

unread,
Mar 14, 2020, 10:42:30 PM3/14/20
to TiddlyWiki
Thank you very much. Your last solution is working as expected. 

-Rahul

Kalcifer Kandari

unread,
Mar 23, 2020, 12:37:13 AM3/23/20
to TiddlyWiki
Looking forward to this. Once macro parameters are recognised, renaming a tiddler will go from taking me 10 minutes to taking 0 minutes.

Kalcifer

Flibbles

unread,
Mar 23, 2020, 7:27:36 AM3/23/20
to TiddlyWiki
So Relink already can relink macro parameters if they're titles, lists, or filters. I'm just working on a modification so macro parameters can be generalized wikitext as a fourth option. Are you saying that particular option is what you need as well?

Kalcifer Kandari

unread,
Mar 23, 2020, 7:36:57 AM3/23/20
to TiddlyWiki
Thinking about it, could there be an option to make all macro parameters recognised as WikiText even if they aren't added to the whitelist, which could then be overridden by whitelist entries? I suppose that would also mean there would need to be an additional 'None' type as well. That would be more intuitive in my mind.

Kalcifer

Flibbles

unread,
Mar 23, 2020, 7:43:29 AM3/23/20
to TiddlyWiki
So that sounds like dangerous territory which would make Relink prone to make unwanted changes to people's tiddlers. Are you in a situation where you're defining a ton of macros for yourself, and you're tired of going into the Relink configuration menu to add its parameters? Because one feature I have considered adding is a macro which you can call right after defining macros which would declare its parameters right then and there: Kinda like:

\define myMacro(tiddler, myFilter, class) ...


<<RelinkMacro myMacro tiddler title>>
<<RelinkMacro myMacro myFilter filter>>


That way, you could keep your Relink macro configuration with your macro definition.

Kalcifer Kandari

unread,
Mar 23, 2020, 8:00:50 AM3/23/20
to TiddlyWiki
So that sounds like dangerous territory which would make Relink prone to make unwanted changes to people's tiddlers.

I can see that. When I tried Relink for the first time I was confused that it didn't happen by default.

I like the idea of the RelinkMacro macro! Maybe if a particular parameter wasn't specified, it would set all the parameters of that macro to that type, like:

<<RelinkMacro myMacro type:"wikitext">>

I'm just trying to be lazy though, it's a good idea either way.

Kalcifer

PMario

unread,
Mar 23, 2020, 11:39:17 AM3/23/20
to TiddlyWiki
On Monday, March 23, 2020 at 1:00:50 PM UTC+1, Kalcifer Kandari wrote:
So that sounds like dangerous territory which would make Relink prone to make unwanted changes to people's tiddlers.

I can see that. When I tried Relink for the first time I was confused that it didn't happen by default.

I like the idea of the RelinkMacro macro! Maybe if a particular parameter wasn't specified, it would set all the parameters of that macro to that type, like:

<<RelinkMacro myMacro type:"wikitext">>

I'm just trying to be lazy though, it's a good idea either way.

Relinking can be a "destructive" function. So the default settings should try to keep newbie users safe. ...

For advanced users it can contain settings, that may be able to "destroy" information. ... BUT that should be the users choice.

just a thought.
mario

TonyM

unread,
Mar 23, 2020, 9:44:30 PM3/23/20
to TiddlyWiki
Fibbles,

You have done a lot already, but if you can break out some of you code, you may be able to provide a solution to

<<update "##name##" "Tony" [filter]>>

Where it acts on current tiddler or those selected using the optional filter.

Actually I expect your code could spawn a few useful macros to use elsewhere.

Regards
Tony

Flibbles

unread,
Apr 10, 2020, 10:27:50 PM4/10/20
to TiddlyWiki
Rahul Kashyap & Kalcifer Kandari,

Macro parameters can now be configured to relink as wikitext as of v1.8.0, released tonight.

Enjoy!
Flibbles


On Saturday, March 14, 2020 at 9:16:35 PM UTC-4, Rahul Kashyap wrote:

Kalcifer Kandari

unread,
Apr 11, 2020, 12:12:26 AM4/11/20
to TiddlyWiki
I just tried it, Flibbles you are amazing. I might like this plugin better than TiddlyWiki5 core.

Kalcifer

Peter Buyze

unread,
Apr 11, 2020, 12:51:54 AM4/11/20
to TiddlyWiki forum
How does one update a plug-in? I downloaded TW recently and am getting to know it. I just checked and it has version 1.5.3 of Relink.
Or is the update done automatically with the next TW update?

--
Securely sent with Tutanota. Get your own encrypted, ad-free mailbox:


11 Apr 2020, 07:12 by kalcife...@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.

Kalcifer Kandari

unread,
Apr 11, 2020, 1:01:46 AM4/11/20
to TiddlyWiki
How does one update a plug-in?

I just dragged it from the demo site to my TiddlyWiki, the same as installing it in the first place.

Kalcifer
To unsubscribe from this group and stop receiving emails from it, send an email to tiddl...@googlegroups.com.

Mohammad Rahmani

unread,
Apr 11, 2020, 1:03:23 AM4/11/20
to tiddl...@googlegroups.com
Hi Peter,
 Relink is a third party plugin so you need to go to its source page and download it and install it again!
If you have this already, you have to reinstall! It is better to see what authors recommended.
The link for downloading Relink can be found in the first post of this thread.


Best wishes
Mohammad


Peter Buyze

unread,
Apr 11, 2020, 1:09:24 AM4/11/20
to TiddlyWiki forum
OK, thanks Mohammad. I still have to get used to operating that way.
Thanks for your help.

--
Securely sent with Tutanota. Get your own encrypted, ad-free mailbox:


11 Apr 2020, 08:03 by mohammad...@gmail.com:

Peter Buyze

unread,
Apr 11, 2020, 1:23:00 AM4/11/20
to TiddlyWiki forum
Mohammad, if I understand well one should keep a list of the 3rd party plug-ins installed and regularly check if there are updates, right?

I did not install Relink myself, it was there already, maybe because I am using TiddlyBlink. In the list of plug-ins in the Control panel, is there a way to tell which are 3rd party plug-ins?

--
Securely sent with Tutanota. Get your own encrypted, ad-free mailbox:


11 Apr 2020, 08:03 by mohammad...@gmail.com:

Mohammad

unread,
Apr 11, 2020, 1:36:35 AM4/11/20
to TiddlyWiki


On Saturday, April 11, 2020 at 9:53:00 AM UTC+4:30, Peter Buyze wrote:
Mohammad, if I understand well one should keep a list of the 3rd party plug-ins installed and regularly check if there are updates, right?
Unfortunately yes! By way many of authors announce their update in this forum!
 

I did not install Relink myself, it was there already, maybe because I am using TiddlyBlink. In the list of plug-ins in the Control panel, is there a way to tell which are 3rd party plug-ins?
I think so, Tiddlyblink is maintained by David Gifford and he has installed Relink already!

--
Securely sent with Tutanota. Get your own encrypted, ad-free mailbox:


11 Apr 2020, 08:03 by mohamma...@gmail.com:
To unsubscribe from this group and stop receiving emails from it, send an email to tiddl...@googlegroups.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 tiddl...@googlegroups.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 tiddl...@googlegroups.com.

TonyM

unread,
Apr 11, 2020, 2:23:10 AM4/11/20
to TiddlyWiki
Peter

Many of us have dozens of wikis with different plugins. You rarely need to update them, more often you need to update the core to access a new feature. occasionally you may see something odd and that's when you can look for relevant update.

Regards
Tony

Peter Buyze

unread,
Apr 11, 2020, 2:50:09 AM4/11/20
to TiddlyWiki forum
OK Tony, Mohammad, I understand.
Many thanks.

--
Securely sent with Tutanota. Get your own encrypted, ad-free mailbox:


11 Apr 2020, 09:23 by anthony...@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.

Rahul Kashyap

unread,
Apr 11, 2020, 2:53:51 PM4/11/20
to TiddlyWiki
Dear Flibbles,

Thank you very much. It works beautifully. 

Best,
-Rahul

Lin Onetwo

unread,
Apr 12, 2020, 2:45:02 AM4/12/20
to TiddlyWiki
Why not upload to a plugin library like main library or

Kookma Plugin Library?


在 2019年9月2日星期一 UTC+8上午10:27:19,Flibbles写道:

Peter Buyze

unread,
Apr 12, 2020, 4:08:48 AM4/12/20
to TiddlyWiki forum
Fibbles, I am new to TW, so here's my 2 cents worth.

This is a feature that I have missed in many a note-taking app. Even in what I currently consider my default, beloved note-taking apps, this feature is absent.

I came across it in Tomboy, but that is such a simple, basic app that I did not bother. Maybe there are other, more feature rich apps, but I have not encountered any.

From what I have seen so far your plug-in works well and one of the features to persuade me to go on with TW.

--
Securely sent with Tutanota. Get your own encrypted, ad-free mailbox:


12 Apr 2020, 09:45 by lindo...@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.

Flibbles

unread,
Apr 13, 2020, 6:06:57 PM4/13/20
to TiddlyWiki
@Peter Buyze: I'm glad! It definitely is a needed feature for large projects. I built it out of need.

@Lin Onetwo: I think this was probably meant for Kookma? Other people are welcome into include Relink in bundles, but I haven't the ability to do so myself.

-Flibbles
To unsubscribe from this group and stop receiving emails from it, send an email to tiddl...@googlegroups.com.

Flibbles

unread,
Apr 24, 2020, 12:00:37 AM4/24/20
to tiddl...@googlegroups.com
New Feature!

The \relink pragma! You can use it to locally declare macro parameters for relinking. For example:

\relink myMacro filter:filter template:wikitext
\define myMacro(filter, template)
...
\end


You no longer have to add entries to the configuration whitelist for all the little macros you've got laying around. (But your \pragma declarations will still show up there.) I've got it all documented right here.

Let me know what you think. This is probably the last major for Relink. It seems to me it accomplishes everything it could accomplish.

-Flibbles

Kalcifer Kandari

unread,
Apr 24, 2020, 3:53:17 AM4/24/20
to TiddlyWiki
Just been testing it out, this is excellent. It really polishes the plugin. I really like that you went so far as to list those done with the pragma in the settings, a really nice touch. You even refined the syntax from when you first suggested it so it fits in one line.

I even noticed some macroes I missed before, so it definitely makes it easier to keep track. I also approve of the copy-pastability, and the fact you don't need to keep going back and forth between the places the macroes are and the settings.

Kalcifer

On Friday, April 24, 2020 at 5:00:37 AM UTC+1, Flibbles wrote:
New Feature!

The \relink pragma! You can use it to locally declare macro parameters for relinking. For example:

\relink myMacro filter:filter template:wikitext
\define myMacro(filter, template)
...
\end

vz

Mohammad

unread,
Apr 24, 2020, 4:34:43 AM4/24/20
to TiddlyWiki
Hi Filbbles,
 Thank you for update. A minor comment: the plugin size seems  +150kB
  is this the minimum size?

--Mohammad

Flibbles

unread,
Apr 24, 2020, 8:51:03 AM4/24/20
to TiddlyWiki
Wow. Yeah. looks like it is. Looks like it's up from 143K. Guess I was a little liberal about it, separating out all the language strings and such. Turns out Relinking was a fair bit more complicated than I expected. Hope that's not a problem.

Mohammad

unread,
Apr 24, 2020, 8:56:28 AM4/24/20
to TiddlyWiki
It is quite powerful and I think in use by many users!

--Mohammad

Petruschka

unread,
May 2, 2020, 4:06:54 AM5/2/20
to TiddlyWiki

You can't even imagine how much this helps. Thank you!

On Monday, September 2, 2019 at 4:27:19 AM UTC+2, Flibbles wrote:
..

Flibbles

unread,
May 25, 2020, 9:54:16 PM5/25/20
to TiddlyWiki
Now with Markdown support!

...in the form of a supplemental plugin.

But I integrated Relink v1.10 with Tiddlywiki's PluginLibrary wizard, so now when you go to "Get More Plugins", Relink has it's own tab where you can easily see all Relink sub-plugins (installed or not installed), what needs updating, and then update with a single click. It's super slick, guys. For real!

But probably not worth all the work it took.

-Flibbles

Joshua Fontany

unread,
May 25, 2020, 11:06:03 PM5/25/20
to TiddlyWiki
Actually, that's really cool. I have that on my ToDo list, but have put it off while I tinker with UI stuff.

Best,
Joshua F

Flibbles

unread,
Dec 15, 2020, 7:54:17 PM12/15/20
to TiddlyWiki
For those who may be interested, many people requested that Relink be able to handle renaming titles of nested directory tiddlers associated with a renamed tiddler.


It also allows for custom rename rules based on filters, as well as rules introduced by 3rd party plugins.

Currently, the only built in rule is the directory tree one. I couldn't think of any others that people would generally want. If you know of any, let me know.

-Flibbles

Mohammad Rahmani

unread,
Dec 15, 2020, 11:36:22 PM12/15/20
to tiddl...@googlegroups.com
Hi Flibless,

This is a great move specially for those who work with Node.js version of Tiddlywiki.
Thank you for sharing.  

One question: there is an edge case for when tiddlers are not physically existed but you like to rename them!
Example is tags, you may have several tags for example asian/country, asian/city, asian/culture and you gonna to
change the asian to european! How can relink be used in this case? This question was originally asked by Mark S on Tiddler Commander.
Tiddler commander in current form cannot work on non-existing tiddler as it is a confusing concept.


Best wishes
Mohammad


--
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.
To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywiki/a57a3b3b-9a8b-4147-8717-40787ef67befn%40googlegroups.com.

Flibbles

unread,
Dec 15, 2020, 11:48:04 PM12/15/20
to TiddlyWiki
Really? I would have thought Tiddler Commander could handle that just fine.

If somebody wanted to rename a non-existent tag using Relink, I'd tell them to make the tag, rename it, and then delete it.

Mohammad Rahmani

unread,
Dec 16, 2020, 1:42:23 AM12/16/20
to tiddl...@googlegroups.com
On Wed, Dec 16, 2020 at 8:18 AM Flibbles <challenge...@gmail.com> wrote:
Really? I would have thought Tiddler Commander could handle that just fine.

Well, Commander only works on existing tiddlers! I think working with non-existing tiddlers can complicate the whole thing.

 

If somebody wanted to rename a non-existent tag using Relink, I'd tell them to make the tag, rename it, and then delete it.

Good! You prefer to work with existing tiddlers.

Mohammad Rahmani

unread,
Dec 17, 2020, 12:45:13 AM12/17/20
to tiddl...@googlegroups.com
Flibbles,
 Have you tried the parent-plugin field  to distribute subplugin of relink as its children?
Take a look in  https://tiddlywiki.com/prerelease/#PluginMechanism presented in 5.1.23


Best wishes
Mohammad


On Wed, Dec 16, 2020 at 4:24 AM Flibbles <challenge...@gmail.com> wrote:
--

Flibbles

unread,
Dec 17, 2020, 1:03:51 AM12/17/20
to TiddlyWiki
Yes. The parent-plugin field is present on both of Relink's supplemental plugins.

Flibbles

unread,
Mar 24, 2021, 12:49:31 AM3/24/21
to TiddlyWiki

Hello all!

Just announcing that Relink V2 has just been released. Besides support for V5.1.23 Tiddlywiki features like multi-operand filter operators, this integrates with the Tiddlywiki index.

And THAT is a big thing (for me anyway). This version is much much faster. If were encountering speed issues with your Tiddlywiki at around 2500+ tiddlers, Relink may have unfortunately been to blame. It slowed down basic typing in if enough Relink info panels were open. Not anymore. It's much faster now.

If you built any modules for Relink, it SHOULD continue to relink just fine, but part of the overhaul I did required me to offload all the Relink Info panel work to a new "report" method which all modules use.  If you want your module to fully integrate with V2, see the demo page for details. better yet, reach out to me, because I can probably migrate your modules in about 10 seconds.

Anyway! Hope you all enjoy. This version of Relink will save you seconds. Seconds!

-Flibbles

Mohammad Rahmani

unread,
Mar 24, 2021, 1:15:49 AM3/24/21
to tiddl...@googlegroups.com
Hi Flibless,
Thank you for the update! Relink and Uglify are a constant part of most of my wikis!
I use both plugins on Node.JS and would like to have a link under Install on demo page redirect/instruct to download the node version of plugins.

Best wishes
Mohammad


Flibbles

unread,
Mar 24, 2021, 1:20:36 AM3/24/21
to TiddlyWiki
Not sure I understand. Relink isn't integrated with any package managers like npm. To install Relink under Node.JS, you'd download the source from github, and the github page has instructions on how to install.

Mohammad Rahmani

unread,
Mar 24, 2021, 2:44:37 AM3/24/21
to tiddl...@googlegroups.com
On Wed, Mar 24, 2021 at 9:50 AM Flibbles <challenge...@gmail.com> wrote:
Not sure I understand. Relink isn't integrated with any package managers like npm. To install Relink under Node.JS, you'd download the source from github, and the github page has instructions on how to install.

Yes, I mean instruction for installing under node.js (e.g. the above sentences in your post) . I myself know how to use Relink under node.js, I mean to have this in your demo page for users like have it with node.js

Charlie Veniot

unread,
Mar 24, 2021, 8:58:32 AM3/24/21
to TiddlyWiki
Man o' man, as if I didn't already have some serious belated virtual-hugging queued up for previous version of Relink.

So big-time virtual hugs to you Flibbles!  Of course, the more HR-approved virtual fist-bumps are always available as a substitute.

My weekend project will be diving into Relink V-deux.  V-dos?  V-deuces-wild?

PMario

unread,
Mar 24, 2021, 5:39:14 PM3/24/21
to TiddlyWiki
Hi Flibbles,
Very well done!
You should have started a new INTRO thread. .. It will be worthit
-m

Stobot

unread,
Mar 26, 2021, 7:11:41 AM3/26/21
to TiddlyWiki
Just echoing thanks and congratulations to Flibbles here. Of the many fantastic plugins out there, this is probably at the top of my must-have list and worthy of consideration of integration into the core. I frankly think new users of TiddlyWiki might assume something like this is already baked in - it's so well done. For reference I would put Editor AutoList (continuing bulleted lists) and Edit-CompText (link auto-complete) on that short-list next. 
Reply all
Reply to author
Forward
0 new messages