On Monday, March 7, 2016 at 10:16:51 AM UTC-8, Mark S. wrote: > > The little arrow buttons give an NS_ERROR_FAILURE message. > > The problem with linking/transcluding via titles is that then you either > have to stick with that title forever or be willing to go back and edit all > the places it is referenced. I often find myself wanting to change a title > -- sometimes the muse just isn't there when you're doing your first draft. > As a consequence, I rarely use the linking feature. It would be useful if > there were a way to link via some ID field which would never have to change. >
Use of a special "unique tiddler ID" field has been suggested many times, for both TiddlyWiki Classic and TiddlyWiki5. Typically, after much discussion of alternative architectures and backward compatibility, we generally come back to the fact that TiddlyWiki already has a field that holds a unique ID for each tiddler: the *title* field, and that what is really being discussed is a distinction between a tiddler's ID and the title that people see. In TiddlyWiki5, the "caption" field can be used to provide that distinction. For example, in the <<tabs>> or <<toc>> macros, if a tiddler has a caption field, then that text is displayed as the tab title or table toc link text, respectively. Note that this is simply a TW core standard *convention*. There is no requirement for a tiddler to have a caption field and, by default, only some of the core functions use the caption field. For your purposes, you could extend this default usage to display the caption text in place of the title text, by modifying the $:/core/ui/ViewTemplate/title shadow definition, and replace <$view field="title"/> with <$view field="caption"><$view field="title"/></$view> For links, you could just use *pretty link syntax* to show the desired text, while using the title "ID" as the link target: [[this is what the reader sees|TiddlerID]] or, alternatively, you could use a "caption link" macro to assemble a link using the target tiddler's caption text, like this: \define clink(tid) <$link to="""$tid$"""><$view field="""$tid$!!caption"""><$view field= """$tid$!!title"""/></$view></$link> \end which you would invoke like this: <<clink TiddlerID>> There are probably some other places where you might want some customizations, but once you have tweaked things to suit your needs, you can just think to yourself "title = ID.... caption = display text". Of course, if you don't provide a caption on a given tiddler, everything should fall back nicely to using the title text as the display text, just as before. Hope this helps, enjoy, -e Eric Shulman TiddlyTools / ELS Design Studios InsideTiddlyWiki: The Missing Manuals -- 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/07b9f9f8-890b-4a9a-94d7-a9c3e08108c0%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.

