I think list-fields are only important for $:/???/ui/ tiddlers, which can have a lot of redundant info.
TW system tiddlers follow some rules.
- They start with
$:/ - They have a common “primary” prefix
$:/<primary>/eg:$:/config/or$:/core/ - The have 1 or more “sub” prefixes:
$:/<primary>/<sub>/<sub>/eg:$:/config/ViewToolbarButtons/Visibility/ - They have a “detail” suffix:
$:/<primary>/<sub>/<sub>/<detail>eg:$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/opermaview <sub>prefixes can haveCamelCaseformatting<detail>scan have hypensleft-arroweg:$:/core/images/left-arrow<detail>scan have hyphens and dots eg:$:/core/modules/browser-messaging.js<detail>scan have CamelCase formatting
So we could configure a “shortener” algorithm, that gives us predictable and human readable, but shorter titles.
The longest title is at tw-com is:
$:/config/plugins/menubar/MenuItems/Visibility/$:/plugins/tiddlywiki/menubar/items/pagecontrols
It could be shortened using some rules:
- replace
$:/with$$/as an indicator for a shortened title - reduce
<primary>/to first-character followed by slash eg:conifig/→c/orcore/→c/ - reduce every
<sub>with their UPPERCASE chars, if there are some eg:plugins/menubar/MenuItem/Visibility→p/m/MI/V
3.1 if there is no UPPERCASE char in<sub>use the first lowercase as in 2. eg:plugins/→p/ <detail>will be not reduced
4.1 except if they are combined as in the example below, whereVisibilitywill be reduced
$$/c/p/m/MI/V/$$/p/t/m/i/pagecontrols
So if we search for [all[shadows]] +[suffix[/pagecontrols]] we do get 3 results
$:/config/plugins/menubar/MenuItems/Visibility/$:/plugins/tiddlywiki/menubar/items/pagecontrols$:/core/ui/PageTemplate/pagecontrols$:/plugins/tiddlywiki/menubar/items/pagecontrols
Which could be mapped to:
$$/c/p/m/MI/V/$$/p/t/m/i/pagecontrols : <long-name>
$$/c/u/PT/pagecontrols : <long-name>
$$/p/t/m/i/pagecontrols : <long-name>
I’m not sure if that will create duplicates, but I’ll have a closer look, once I do have a “search-replace” regexp that can create the short names.
I know that’s not as short as 3 characters, but IMO definitely more human readable. And the rules should be simple enough, that we can use them without the need of a lot of new UI tooling.
[all[shadows]] +[prefix[$:/core/ui/ViewTemplate]]
This may give us a data-tiddler with:
$$/c/u/VT : $:/core/ui/ViewTemplate
$$/c/u/VT/body : $:/core/ui/ViewTemplate/body
$$/c/u/VT/b/blank : $:/core/ui/ViewTemplate/body/blank
$$/c/u/VT/b/code : $:/core/ui/ViewTemplate/body/code
$$/c/u/VT/b/default : $:/core/ui/ViewTemplate/body/default
$$/c/u/VT/b/import : $:/core/ui/ViewTemplate/body/import
...
If we would limit the shortener to all tiddlers prefixed $:/core/ui/ we can make it even shorter
$$/VT : $:/core/ui/ViewTemplate
$$/VT/body : $:/core/ui/ViewTemplate/body
$$/VT/b/blank : $:/core/ui/ViewTemplate/body/blank
$$/VT/b/code : $:/core/ui/ViewTemplate/body/code
$$/VT/b/default : $:/core/ui/ViewTemplate/body/default
$$/VT/b/import : $:/core/ui/ViewTemplate/body/import
...
just some thoughts. I’m sure I’m missing some usecases, but IMO it may be a start to create shorter titles and still have them somewhat human readable.
-m

