I’m wondering if I’m going about this wrong. I’m trying to learn more about TiddlyWiki in the course of writing a large documentation wiki for a work project. But I keep getting stymied in trying to find what I think should be fairly straightforward technical information. I’m wondering if I’m not looking in the right places, if I’m not searching properly, or if the information is simply not particularly documented. I know I can keep asking questions here, but I really like to do my due diligence first. While I think I’m generally pretty good at finding documented technical info, those skills aren’t helping me here.
Here’s a recent example.
I wanted to do something that involved creating a temporary tiddler. I certainly have seen the namespace $:/temp
. I made the guess that anything in that namespace is simply not saved back to the (in my case) Node server. But I wanted to be sure. I didn’t want to hear later that they were saved in some edition I haven’t tested or to some backend I wasn’t using, or that they were saved if the tiddler happened to have a foobar
field. Now clearly I could add a new topic here. But I wanted to research it first, and only come with a question if I couldn’t find it. As I said, I think I’m fairly good at finding such published information.
I went to https://tiddlywiki.com/ and searched for "temporary"
. None of the six matches seemed to offer anything useful, so I searched on "$:/temp"
. I scanned the 27 hits, but none looked promising. I headed over to https://tiddlywiki.com/dev/ and did the same things with no information. So I came back to the main site and read or skimmed all those 27 matches. Twenty-four of them just mentioned tiddler names in that $:/temp
namespace. Two were more interesting, because they mentioned $/temp/volatile
, which sounds like an alternative candidate for a prefix of tiddlers not to be saved. But it still didn’t answer the question. The final one, Naming of System Tiddlers offers this:
Namespace | Format | Description |
---|---|---|
$:/temp/* |
lowercase | Temporary tiddlers that shouldn’t be saved |
Ok, but now what does “shouldn’t be saved” mean? Does this mean that I as a user should avoid saving them? If so how? Does it mean that Tiddlywiki will most likely not save them, but might sometimes do so for capricious reasons? Or does it mean that I should name them like this to tell the system not to save them? That last is what I hope, but it’s still not clear to me that this is what’s meant.
So I searched the web. I can’t remember the search term but the results were mostly links to Tiddlywiki.com, with the others either to this forum or its Google-groups predecessor. Amidst these, I found State tiddlers for open tabs should not persist after refresh, a GitHub issue opened nine years ago, and closed last year, all about state
tiddlers, but at least including what I think of as an early mention of $:/temp
, with the suggestion that it might serve the role I’m hoping. But that still didn’t tell me what I wanted to know.
I had a vague memory that Grok Tiddlywiki had a mention of this, and I searched there to find
The tiddler we’ve bound the text box to in this case is a system tiddler whose name begins with
$:/temp/
, often called a temporary tiddler . Tiddlers in$:/temp/
are not saved with your wiki – when you close the page or hit the refresh button, they are all gone. For a situation like this one, that’s usually what you want, but if you want the value to persist across a reload, you should keep that tiddler somewhere else.
Which seems to tell me what I wanted to know, except that the footnote it links to tells me that this is a “lie to children” – an evocative phrase I hadn’t heard before, but which I take to mean something technically false, but true for most purposes, and useful to most readers – and that, in fact,
Actually, it depends on what saver you are using – some savers won’t discard temporary tiddlers. But you should always assume that they’ll go away, to avoid creating a wiki that only works with some savers.
So I think I’ve found my answer. But the search was much more painful than expected, and the answer is still a little shaky.
My question is whether I’m doing this wrong. Is there some way I should have been able to find this answer more easily? Am I looking at the wrong resources? Am I using them incorrectly? Or do the sorts of resources I want simply not exist?