Hello, This is simple but very handy tool. A minor comment: When you delete a tiddler already refereed by <<linkto "">> somewhere, there is nothing to show and I recommend to display a massage or much better handle it as missing tiddler, on click you can create it.
Have a look also to https://wikilabs.github.io/editions/uni-link/ by Mario. On Saturday, February 9, 2019 at 2:21:53 AM UTC+3:30, Vytas wrote: > > Hello, > > After a long pause from TiddlyWiki, I came back to simplify my tool ( > https://groups.google.com/d/msg/tiddlywiki/DiowJLeoJbw/igirhRHYAQAJ) of > creating solid links to tiddlers with the help of a "link button" in the > View Toolbar. The tool functions through the id field and it is really easy > to use. > > a) If you want to create a link to the tiddler named *Present tiddler > title* (created *20190208203055849*) AND having no "id" field value, just > click the "link button" in the View Toolbar of this tiddler. This will set > the "id field" to "*2019-02-08-Present tiddler title-22:30:55-849ms*" AND > will copy *<<linkto "2019-02-08-Present tiddler title-22:30:55-849ms">>* to > clipboard. Now, you can paste this macro into some other tiddler to get a a > direct link to *Present tiddler title*. If the id value would appear to > be not unique (e.g., if you clone a tiddler), the macro will provide the > link to the oldest tiddler which has the above mentioned id. > > b) If "Present tiddler title" already HAS an id field value (assume it is > equal to *any_preferably_unique_id_591*), clicking the "link button" in > the View Toolbar will copy *<<linkto "any_preferably_unique_id_591">> *to > clipboard. > > > To try out the tool, create a tiddler (tagged with *$:/tags/Macro* and > *$:/tags/ViewToolbar*) with the following body text: > > > \define linkto(idvar1) > <$list filter="[field:id[$idvar1$]!has[draft.of]limit[1]]"/> > \end > > \define linkto2(idvar) > <<linkto "$idvar$">> > \end > > \define id_value() $(cr_date)$-$(curr_title)$-$(cr_time)$-$(cr_msec)$ms > > \define link_via_id(check_id, copy_id, if_no_id) > <$list filter="$check_id$ +[limit[1]]" name=act emptyMessage=<<$if_no_id$ > >>> > <<$copy_id$>> > </$list> > \end > > \define copy_id() > <$action-sendmessage $message="tm-copy-to-clipboard" $param=<<linkto2 > "$(idvar)$">>/> > \end > > \define if_no_id() > <$action-setfield $tiddler=<<currentTiddler>> id=<<id_value>>/> > <$action-sendmessage $message="tm-copy-to-clipboard" $param=<<linkto2 > "$(id_value)$">>/> > \end > > > <$button tooltip="Set id (if no id field exists) & copy a link" aria-label > ="Set id (if no id field exists) & copy a link" class=<<tv-config-toolbar- > class>>> > <$wikify name=cr_date text='<$view tiddler=<<currentTiddler>> > field="created" format="date" template="YYYY-0MM-0DD"/>'> > <$wikify name=cr_time text='<$view tiddler=<<currentTiddler>> > field="created" format="date" template="0hh:0mm:0ss"/>'> > <$wikify name=cr_msec text='<$view tiddler=<<currentTiddler>> > field="created" format="date" template="XXX"/>'> > <$set name="curr_title" tiddler=<<currentTiddler>> field="title"> > <$set name="idvar" tiddler=<<currentTiddler>> field="id"> > <<link_via_id "[title[$(currentTiddler)$]has[id]]" copy_id if_no_id>> > </$set> > </$set> > </$wikify> > </$wikify> > </$wikify> > {{$:/core/images/link}} > </$button> > > You can provide this tiddler with the following fields: > caption: *{{$:/core/images/link}} (Set id) & copy a link* > description: *Set the id field (if it does not exist) of this tiddler and > copy a link to clipboard* > > By the way, I don't know how to make the caption show up, as long as the > "link button" is put under *More actions* in the View Toolbar.. > -- 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 [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/tiddlywiki. To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywiki/0034d438-b6a7-4891-b63c-65349650be23%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.

