OK I needed to be at a proper keyboard to write this out. Try the following:

\define myactions()
<$action-sendmessage $message="tm-save-wiki" $param="$:/core/save/all" 
publishFilter={{publishFilter}} />
<$action-setfield $tiddler="$:/GitHub/Username" text=""/>
\end

<$button tooltip={{GithubSave/Hint}} aria-label={{GithubSave/Caption}}  
class=<<tv-config-toolbar-class>> actions=<<myactions>>>
<$action-listops $tiddler="github save button/private/username" 
$tags="[[private]] [[github save button]]"/>
<$action-listops $tiddler="github save button/private/state" 
$tags="[[private]] [[github save button]]"/>
<$action-setfield $tiddler="$:/GitHub/Username" text={{github save 
button/private/username}}  />
<span class="tc-dirty-indicator">
<$list filter="[<tv-config-toolbar-icons>match[yes]]">
{{$:/core/images/github}}
</$list>
<$list filter="[<tv-config-toolbar-text>match[yes]]">
<span class="tc-btn-text">save to github</span>
</$list>
</span>
</$button>

On Tuesday, August 10, 2021 at 8:32:33 PM UTC+2 Saq Imtiaz wrote:

> Ah right, I believe there is a race condition which is leading to the 
> double save. 
>
> On Tuesday, August 10, 2021 at 8:20:32 PM UTC+2 Saq Imtiaz wrote:
>
>> Regarding: " It would be best if I could save only to github thus never 
>> overriding my local wiki. Is that possible ?"
>>
>> Have you tried removing the second instance of  $action-sendmessage 
>> $message="tm-save-wiki" in your code?
>>
>> On Tuesday, August 10, 2021 at 8:00:43 PM UTC+2 Télumire wrote:
>>
>>> Hi Saq, 
>>>
>>> The code I shared at the end of my post already use these shadow 
>>> tiddlers.
>>> Thanks for the google thread, I'll try again and ask him for help if 
>>> need be. 
>>>
>>> I just hopped there was a way to do that in wiki text only, since I'm 
>>> not very good with JavaScript ^^
>>>
>>> Le mardi 10 août 2021 à 19:46:26 UTC+2, [email protected] a écrit :
>>>
>>>> I think bimlas' code has most of what you need and could easily be 
>>>> adapted for your purposes.
>>>> You may want to consider speaking with him, see 
>>>> https://groups.google.com/g/tiddlywiki/c/ZU_s6FdUy8Q/m/KeXVnOciBAAJ
>>>>
>>>> Also helpful might be the ability to create a custom save button that 
>>>> does not include the public content. See the following shadow tiddlers:
>>>> $:/core/ui/Buttons/save-wiki
>>>> $:/config/SaveWikiButton/Template
>>>> $:/core/save/all
>>>>
>>>>
>>>> On Tuesday, August 10, 2021 at 7:09:58 PM UTC+2 Télumire wrote:
>>>>
>>>>>
>>>>> Hello everyone,
>>>>>
>>>>> I wish to use tiddlywiki as a semi-private blog using GitHub Pages 
>>>>> (with some of its content never going online until it's ready) and 
>>>>> thought 
>>>>> it would be nice to have a button that allow to choose what saver to use.
>>>>>
>>>>> For example, when I'm finished working on my article, I would hit the 
>>>>> regular save button and the changes would be saved locally. Then, when 
>>>>> I'm 
>>>>> satisfied, I would click a button to save to GitHub.
>>>>>
>>>>> The interesting thing is that we can set a filter to exclude some 
>>>>> tiddler from the save, so if I want to exclude an unfinished tiddler from 
>>>>> the save to GitHub, I would simply tag it with “private” or something 
>>>>> before saving the wiki.
>>>>>
>>>>> The issue is : tiddlywiki does not provide a mean to specify which 
>>>>> saver to use when triggering a save. 
>>>>>
>>>>> I found a workaround : I use a button which first fill in the GitHub 
>>>>> credential, increasing the priority of the GitHub saver, trigger the 
>>>>> filtered save, then remove the credential, allowing the next regular save 
>>>>> to be done with the local saver.
>>>>>
>>>>> The issue is that when I save to github this way, it also save 
>>>>> locally. So to prevent my private tiddlers from getting overridden by the 
>>>>> save, I need to trigger a complete save to finish the process. I think 
>>>>> this 
>>>>> is very risky because if the browser crash between the github save and 
>>>>> the 
>>>>> local save, all my private tiddlers will be lost. It would be best if I 
>>>>> could save only to github thus never overriding my local wiki. Is that 
>>>>> possible ?
>>>>>
>>>>> I've found this js code by bimlas showing how to select a saver : 
>>>>> https://bimlas.gitlab.io/demo/tw5/preferred-saver.html#%24%3A%2Fbimlas%2Fpreferred-saver.js
>>>>>  
>>>>> but I don't know how to adapt it to my scenario.
>>>>>
>>>>> Here's the code that I use for now :
>>>>>
>>>>> <$button tooltip={{GithubSave/Hint}} 
>>>>> aria-label={{GithubSave/Caption}}  class=<<tv-config-toolbar-class>>>
>>>>> <$action-listops $tiddler="github save button/private/username" 
>>>>> $tags="[[private]] [[github save button]]"/>
>>>>> <$action-listops $tiddler="github save button/private/state" 
>>>>> $tags="[[private]] [[github save button]]"/>
>>>>> <$action-setfield $tiddler="$:/GitHub/Username" text={{github save 
>>>>> button/private/username}}/>
>>>>> <$action-sendmessage $message="tm-save-wiki" $param="$:/core/save/all" 
>>>>> publishFilter={{publishFilter}} />
>>>>> <$action-setfield $tiddler="$:/GitHub/Username" text=""/>
>>>>> <$action-sendmessage $message="tm-save-wiki" 
>>>>> $param="$:/core/save/all"/>
>>>>>
>>>>> <span class="tc-dirty-indicator">
>>>>> <$list filter="[<tv-config-toolbar-icons>match[yes]]">
>>>>> {{$:/core/images/github}}
>>>>> </$list>
>>>>> <$list filter="[<tv-config-toolbar-text>match[yes]]">
>>>>> <span class="tc-btn-text">save to github</span>
>>>>> </$list>
>>>>> </span>
>>>>> </$button>
>>>>>
>>>>> Live demo : 
>>>>>
>>>>>
>>>>> https://telumire.github.io/TW-tips/#Save%20a%20private%20copy%20to%20github%20(single%20file%20wiki)
>>>>>
>>>>> You can import it in your wiki by drag & drop "'open all in the 
>>>>> current tab" in tiddlywiki. Click once on the button, then fill in the 
>>>>> username in the tiddler "github save button/private/username". 
>>>>>
>>>>

-- 
You received this message because you are subscribed to the Google Groups 
"TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywiki/31dfb228-46f0-479c-8490-09265307d856n%40googlegroups.com.

Reply via email to