This code is deceptively short, but it appears to do what you want:

\define catvalue() <$text text="""$(value2)$"""/>
\define fieldsvalues()
<$list filter="[all[current]fields[]] -[[tiddler-template-caption]] 
-[[text]]" variable="field"><$set name="value2" tiddler=<<currentTiddler>> 
field=<<field>> emptyValue=""><<field>>="<<catvalue>>" </$set> </$list>
\define buttonactions() <$action-createtiddler $basetitle={{!!title}} $(
attribs)$ text={{!!text}} /> 

<$wikify name="attribs" text=<<fieldsvalues>> >

<$button actions=<<buttonactions>>>Create clone

I say deceptively because of all the wrong paths I went down before getting 
to it. It turns out that actioncreatetiddlerwidget has this weird thing 
that when you attempt to add fields to a just-created tiddler it makes a 
perfect clone ---- but wipes out the original! If real, that seems like a 
bug to me. So that path didn't work.

You'll be happy to know that part of this solution requires the 
wikify-a-list trick you demonstrated in another thread. Note that the text 
field is handled separately in order to avoid recursion. 

This code needs to be "remembered" or stored somewhere, but not sure where.

-- Mark

On Thursday, August 2, 2018 at 7:46:30 PM UTC-7, TonyM wrote:
> Folks/Team,
> I am creating a tool to create tiddlers from template tiddlers and will 
> share today (if I resolve this).
> However to do so I am using the following to clone the tiddler to a new 
> tiddler name eg "task 1" and open for edit (which the user then modifies)
> \whitespace trim
> <$button message="tm-new-tiddler" param=<<currentTiddler>> tooltip="Clone 
> this 'template'" aria-label="Clone this 'template'" class=<<tv-config-
> toolbar-class>> >
> <$action-setfield $field=template-source $value=<<currentTiddler>>/>
> *<$action-deletefield $field=tiddler-template-caption/**>*
> {{$:/core/images/clone-button}}
> </$button>
>    - I identify which tiddlers are templates by the existence of the 
>    field *tiddler-template-caption*
>    - During the clone which works perfectly the tiddler-template-caption also 
>    gets cloned
>    - Unfortunately this means the new tiddlers now appear in the list of 
>    tiddler templates
>    - In the above code *<$action-deletefield 
>    $field=tiddler-template-caption/*> deletes the field from the template 
>    tiddler not the new one.
>    - How can I delete this field from the new tiddler with the yet to be 
>    determined name?
> I believe I need to use message="tm-new-tiddler" param=<<currentTiddler>> 
> rather than ActionCreateTiddlerWidget to clone the tiddler, where I would 
> use the $savetitle.
> I want the clone to work regardless of the fields and their content so I 
> do not want to explicitly create the fields, I just want them to come from 
> the template tiddler except for *tiddler-template-caption.*
> Note: <$action-setfield $field=template-source 
> $value=<<currentTiddler>>/> updates the template tiddler before the clone, 
> this saves the user doing it.
> How can I trigger *<$action-deletefield $field=tiddler-template-caption/**> 
> on the new tiddler after it is named/created without an additional 
> "trigger"*
> Thanks
> Tony

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 post to this group, send email to
Visit this group at
To view this discussion on the web visit
For more options, visit

Reply via email to