Useful design thoughts @Springer - Discussing design in this way is great, so I will follow your lead, and share some design patterns to add to yours. These build on Recent system methods.
With a similar approach to switching between user and designer modes in wikis, I have being using “design-mode”. In this case come content is displayed only if design-mode=yes however my design has taken this a little further, design-mode is determined first if the <<design-mode>>
variable is set, or if the current tiddler has the field design-mode
retrive its value, other wise get the value from $:/config/design-mode
- This approach allows you to set design mode on or off for a block of code using the variable, for a given tiddler with the fieldname, or the global setting in the config tiddler.
- This is a design pattern that has many uses and practical modes including author-mode for content authorship tools, debug-mode to show diagnostics and many more.
The above could be a useful add on, but there is some supporting technology that would be helpful, it involves modifying tabs, toc, tag pills and toolbar buttons to allow a display-filter to influence if you see an item. So if the display-filter field exists on a tab/button/toc item use it to determin if you display the given item.
- This would allow a tab to come and go according to a condition, such as design mode tab.
- You can do this in your own buttons already because “empty buttons”, eg not displayed, just don’t appear.
- This would be useful in the toc macros as a branch of a contents tree could be hidden or shown in different modes.
- The toc macros would also benifit from also including a child-filter field that would override the normal filter.
All of the above and earlier ideas could be introduced to tiddlywiki with not many bytes.
- You may be interested in mine which also hides in more > System Tags, but adds some additional features.
- List all known system tags in use in this wiki or otherwise
- Copy tag to clipboard
- Count of times in use in the current wiki
SysTags.json (3.4 KB)
I will explore these features