Naming conventions for related tiddlers

I am curious how others have developed their own naming conventions when it comes to organizing tiddlers.

Specifically, tiddlers can be tagged to another as a form of organization (“New here”). But each tiddler still needs a unique title.

Maybe a delimiter for sub tiddlers foo/bar, foo/baz? Or perhaps an em-dash —? Or just keeping track via a number foo1, foo2.

Example use case: A wiki for taking notes. Projects have a title, Each project has repeated sub notes like requirements, retro, links, etc. How would you construct tiddlers for the sub-notes in a way that remains unique without littering the search/recently changed lists with weirdness?

1 Like

I use / as a delimiter for “subtiddlers”. This makes the tiddler naming consistent with common file system naming conventions as well as the existing TWCore naming scheme, which uses tiddler titles like:

  • $:/config/.../...
  • $:/core/Filters/...
  • $:/core/images/...
  • $:/core/macros/...
  • $:/core/modules/commands/...
  • $:/core/modules/editor/operations/text/...
  • $:/core/modules/filters/...
  • $:/core/modules/filterrunprefixes/...
  • etc.

For your example use case, I think it would be easily understandable to see names like:

  • MyProject
  • MyProject/requirements
  • MyProject/retro
  • MyProject/links
  • etc.



Shiraz and Mehregan recognize subtiddler, so if you use Node Explorer they are shown at the tiddler bottom. (See also @sobjornstad TZK)

Also the official tree macro works well with subtiddlers.

This works for plugins, where tiddlers are rarely read by humans.

But for daily notes, this will make a very long title, (10wordLengthOfTitle → 10wordLengthOfTitle/15wordLengthOfTitleOfChild …). This not only makes reading harder (you have to go through previous words, to see the actuarial title), but also make editing harder, if you want to select all title and rewrite, you can triple-click the title input before, but now have to mouse-select.

So I usually just re-summerize the content of the new tiddler, make a not necessarily related title, and just use tags to organize them.

I think tags (or other better fields) is structed data, is easier to be used by filter expression or JS. Title with a slash is semi-structured data, is harder to use (for me. While people already find many ways to utilize it…)

1 Like

I used to use “Subject (Topic)” format for tiddlers, and “Group: Subject” for tags. I borrowed the formatting from either wikipedia or fandom, I don’t remember which…

to note, I also navigate by tags, so keeping it this way allows me to quickly find what I need by clicking on tags related the the tiddler I’m looking for.

For instance, if I had a character from a book, and that same character from a movie, they would be titled John Doe (John’s Movie) and John Doe (John Doe Book 1), and would be tagged “Type: Character” or something like that.

I also experimented with using a system similar to discord (Topic #123) in the past but eh… wasn’t very appealing to me long term.

At the moment though, I’ve been using sentence structure, ie “John Doe from John Doe’s Book Series” or “John Doe during Book 2”

as far as journals or notes, I usually follow a “yyyy-0mm-0dd 0hh:0mm topic” format.

My unsorted tiddlers just use the unusedtitle macro to title “unsorted tiddler #n” with it modified to start at the number 1. (I wasn’t a fan of it starting at 0, but that’s just personal preference.)

system tiddlers (modified or custom) I follow the formats in place by the core, as to not change anything and make it easy enough for others to navigate if they ever had to.

I found using slahes and dashes as delimiters to be a bit cumbersome for large scale groups, and not very visually appealing to me, so I save them for system tiddlers.

1 Like

Since tiddlywiki does not support slug, the readability of url is reduced, so I use dashes instead of slashes

it would be cool if you could add a slug field to a tiddler and have that be the permalink. Unfortunately, I don’t think there is a clean way to enforce uniqueness constraints to fields other than title.

That was something I brought up to JeremyRuston once, about being able to change the required UID/slug field from title to something else, and if I remember correctly, his response was the same, with it being a big change and takes away from the design of TW, and that importing of tiddlers would break basically.

It would be cool to have a plugin that overrides it, but falls back on the tiddler title if that feild isn’t found in the tiddler.

For what it’s worth, I use with spaces before and after to separate items in compound titles. I found this to be much more readable than other approaches without taking too much space. Also, it is hardly ever used in any other context, so there is no ambiguity associated with it – if you use a forward slash as your separator, then you would not be able to use it as part of the title.

Topic A › Subtopic B › Problem C

In most operating systems it is not hard to assign the " single right-pointing angle quotation mark" to e.g. Ctrl+> or some other easily reachable key combination.

See also this related discussion.

1 Like

I have a solution for this slug or short url issue just call the tiddler what you want to suit your permalink then allow a caption or alt title to be used when displaying the tiddler.

  • you can also do this and transclude another tiddler such as a system tiddler.

Ask if you want it!