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.

Reply via email to