G'day,
This is just one of my practices to fully take advantage of relink to protect my code from me and my continuous tweaking of tiddler titles.
Some sample code:
<$vars DataTid={{{ [<currentTiddler>addsuffix[ Data]] }}}
EditorName={{Sheet Designer!!title}}>
<$vars selectedSheet={{{ [<DataTid>getindex[selected_sheet]] [<currentTiddler>!match<EditorName>] +[last[]] }}}
bViewOnly={{{[<currentTiddler>!match<EditorName>then[yes]else[no]]}}}>
About that sample code:
In the "TiddlySheets" project I've got going on, my "Sheet Designer" (or "Sheet Editor"; I am on the fence) is the tiddler in charge of creating and editing sheets (like "
TreeSheets", not like spreadsheets). The tiddler also serves a second function: as a transclusion template, so that if I want to "publish" a sheet in some tiddler, I transclude the sheet (a data tiddler) using the "Sheet Designer" as transclusion template.
The code above says: hey, if this code (or "TiddlyWiki scripting") is happening for current tiddler = "Sheet Designer", then behave for that context (i.e. allow editng of the sheet); if this code is happening for current tiddler = something other than "Sheet Designer" then behave for that context (i.e. show the view-only sheet.)
Back to discussion:
Originally, my code was as follows:
<$vars DataTid={{{ [<currentTiddler>addsuffix[ Data]] }}}>
<$vars selectedSheet={{{ [<DataTid>getindex[selected_sheet]] [<currentTiddler>!match[SheetEditor]] +[last[]] }}}
bViewOnly={{{[<currentTiddler>!match[SheetEditor]then[yes]else[no]]}}}>
Then I changed the tiddler's name from "SheetEditor" to "SheetDesigner".
And then my tiddler stopped working correctly. And it took me a while to realize: the Relink plugin could not catch the "hard-coded" reference to "Sheet Editor" inside my code's filter.
Once bitten, twice shy. I changed my code as per way above.
Pretty much wherever I refer to a tiddler, instead of referring to that tiddler by title, I refer to the tiddler by transclusion of the title, which the Relnk plugin never misses.
So "{{ThisTiddler!!title}}" instead of "ThisTiddler".
I am a tweaker by nature, and that will never change.
So I code as per my nature. Or I quickly refactor my code when I momentarily forget about my nature.
Anyways, all of that in case any other tweakers out there want to max out the benefits of relink.