Call for Tiddlydesktop new functionality

No need to say here the huge pleasure I have everyday to work on my wikis through TiddlyDesktop little window.
But with plenty of production wikis, testing wikis, source wikis (most of them downloaded from this site for my understanding)… the little window with a banner for every wiki needs to be scrolled a lot and the different type of wikis are mixed up.

Could this be possible to add a simple tag to each wiki listed and permit to select by tag the wikis to list in the window.

This would be a really good improvement to that so useful tool.

Click on backstage image

Then in the tiddler WikiList paste this :

<$edit-text tiddler="filter" tag="input" class="tc-edit-texteditor"/>
<$list filter="[tag[wikilist]tags[]] -wikifile -wikilist -wikifolder">
<$button set="filter" setTo={{{ "tag[" [{!!title}] "]" +[join[]]}}} class="tc-tag-label tc-btn-invisible" style="background-color:;
fill:#333333;
color:#333333;">{{!!title}}</$button>
</$list>

<div class="td-wikilist">
<$macrocall $name="list-tagged-draggable" subFilter={{filter}} tag="wikilist" itemTemplate="WikiListRow" emptyMessage="Add a ~TiddlyWiki file or folder to get started.

Click the buttons above to browse, or drag and drop from your file Explorer/Finder"/>
</div>

Add the tag you want on your wikis : the tiddlers start with “wikifile” followed by their path

Then close the backstage.

You will get a text field in which you can write a filter, e.g tag[test] to only display wikis tagged with test, and a set of button to fill in the tag filter for you.

3 Likes

Wow !!
I’m always impressed by the speed and quality of interaction with TiddlyUsers or TiddlyHackers…

Thank you very much ! Exactly what I dreamed of. So useful.

1 Like

I added a way to set tags without going into the backstage, just drag and drop this file into the backstage: improved-backstage.json (4.6 KB)

So everything is fine BUT… I set the wikifiles with the tag I wanted. The list is set accordingly BUT when I open a wiki, TiddlyDesktop rewrite the wikifile:xxx tiddler and suppress the tags I set before.

Damn, give me a bit of time and I’ll try to find a way to fix that

I think I can make something that will keep the tags intact but you will lose them if you move the wiki or change it’s name, would that be ok ?

Sure this would be OK. Anyway if I move or rename a wiki source file I have to reimport it in TiddlyDesktop.

Maybe it would be also nice to be able to list the wikis with no tags…

I jus found to have search:wiki-tags[]in the filter box let me list all the wikis… Forget my message here above… :grinning:

This should work now, as long as you do not move the wiki file/folder :

improved-backstage.json (5.1 KB)

Now to set tags you need to use the wikitext list syntax, so if you write “A B C” you will get three tags, and if you write “A B C [[a tag with space]]”, you will get 4 tags.

You can also search for a wiki title, write “search[name of your wiki]” in the search field

I thinks it should be possible to search for wiki content with the searchwikis plugin but I leave that to someone else ^^

Updated to use the default tag ui : improved-backstage-v2.json (5.1 KB)

1 Like

Receive here my congratulations for your time and will to share. This goes beyond what I expected.

This shows the versatility of that incredible tool !

1 Like

You’re welcome. I think this will be helpfull for me too, it’s a great feature to have ! I opened an issue on github to ask for something similar to be officially implemented : [feature request + demo] Update and improve the backstage by adding the tagpicker UI to the WikiListRow template + a search field · Issue #260 · TiddlyWiki/TiddlyDesktop · GitHub

1 Like

Maybe for cleaning a little bit the list view, the tags functionnality could be set under the advanced reveal next or above the enable backup button. Once set we don’t really need to see those informations in the wikilist rows.

This is true, however there is so much blank space that I feel like hiding the tagpicker in a button is more detrimental than anything, but if you want to do it you can edit the WikiListRow tiddler , remove this part

<div class="td-wiki-toolbar-item">
<$tiddler tiddler="$:/TiddlyDesktop/Config/wiki-tags/$(currentTiddler)$">{{||$:/core/ui/EditTemplate/tags}}</$tiddler>
</div>

And replace

<$reveal type="nomatch" state="""$:/TiddlyDesktop/Config/advanced/$(currentTiddler)$""" text="">

<div class="td-wiki-advanced tc-popup-handle">

<$list filter="[all[current]prefix[wikifile://]]">

with

<$reveal type="nomatch" state="""$:/TiddlyDesktop/Config/advanced/$(currentTiddler)$""" text="">

<div class="td-wiki-advanced tc-popup-handle">

<$tiddler tiddler="$:/TiddlyDesktop/Config/wiki-tags/$(currentTiddler)$">
{{||$:/core/ui/EditTemplate/tags}}
</$tiddler>

<$list filter="[all[current]prefix[wikifile://]]">