How to fine tune the migration from Hugo to TW in a TW way?

As detailed in the message about migrating from Hugo to TW via TiddlyWikiPharo, I’m creating tiddlers programmatically with Pharo from the YAML data in a Hugo site and converting it to tiddlers. Currently, the information links quotes and actors, as can be seen in the Malleable Systems wiki.

In the YAML data contains short names that are used as keys for accessing actors (people) information. The short names have been converted into extra keys, in the tiddlers, as shown here and in the screenshot below:

So I can use

{{{ [tag[Actors]shortname{!!authors}] }}}

to get all the tiddlers tagged as “Actors” which have the same shortname that is shown in the authors custom field. So far, so good. But when the authors field contain several authors, the same strategy doesn’t work (as it doesn’t make sense on that case). So I use the suboptimal:

<$list filter="[list[!!authors]]">

as shown here:

What I would really like would be something that links each shortname to its long name (the Actors tagged tiddler tittle as before), if it is in the wiki, or leave it as a link to a not yet created tiddler, when is in the form of a long name.

As I’m writing the tiddlers from Pharo, my approach would be to use it, creating a short script that replaces any shortname in the authors field by its long form and leaves any non found author there as link to a pending tiddler, so I just need to use the second strategy everywhere. But I wonder how would be the TW way to get the same result with any of the two approaches:

  • the tiddlers in the authors custom fields linked to the Actors tiddlers that have them as shortnames or the link to a future Actor when is not in the wiki.
  • All the shortnames in the authors field of the tiddlers tagged as Works replaced by their longer form, i.e: the title of the Actors tiddler that shares the same shortname.

Second strategy seems better for me, as shortnames are preserved for traceability with the YAML source, but I think that using tiddler titles to represent relations between tiddlers seems more natural in TW.

Any advice would be welcomed.

I only scanned your above post, as I am unfamiliar with some of your terms or references,
I think you may find Mario’s alias plugin / uni-links useful here.

Although I must say the “Malleable Systems wiki” looks like an interesting “ideas community” and ties in closely with my interest in TiddlyWiki “Democratising software” to allow a broader audience to “Make use of” software and internet technology without needing a career in the subject.

1 Like

If the ‘authors’ field consistently has shortnames in it, then you should be able to use:

{{{ [list[!!authors]] :map[all[tiddlers]tag[Actors]shortname<currentTiddler>else<currentTiddler>] }}}

for both cases – this will create a link to the real title, or a “short” link to a non-existing tiddler. If you use full names for the not-yet-existing authors, then it will make a link to the missing tiddler.

2 Likes

I just discovered the Malleable Systems Collective recently and thought that would be nice to have their side inside a malleable system (as explained in the longer post). And I agree with you about being a community of interest that shares the search for “Democratising software” beyond specialist.
But that is a topic for a longer talk.

Thanks a lot Mark. The forum software advises to me not adding more information in a solved issue. But a single emoji is not enough to show my appreciation for your answer and the gate it opened in the proper learning context to the world of map operators, that has been recently discussed over here.

So: Thanks again! :partying_face: :rocket: