Hi,

your macro works fine for me, except when not specifying a tiddler, as your 
actual default value is an empty string, not the current tiddler. As a fix 
you could use the emptyValue parameter of the set widget when setting x:

<$set name="x" value=<<__for__>> emptyValue=<<currentTiddler>> >


For your second question: While there is, as far as I am aware of, no 
single filter operator to remove spaces between words you could play around 
with split[] and join[].
As an example this would replace the spaces with underscores when setting 
mfield:

<$set name="mfield" filter="[title<x>lowercase[]split[ 
]join[_]addprefix[mod-]]">


Hope this helps you find a solution that works for you.

Regards,
Felicia


On Wednesday, 8 July 2020 00:45:53 UTC+2, Mark Green wrote:
>
>
> I'm trying to specify a macro that will search all tiddlers for a field 
> describing how they modify another tiddler (by default the current one) and 
> list them together with the contents of those fields. This is my attempt, 
> but it seems to produce no output, not even the output of the mfield 
> variable at the bottem of the table.
>
> \define ModifierBlock(for:"")
> <table>
> <$set name="x" value=<<__for__>> >
> <$set name="mfield" filter="[title<x>lowercase[]addprefix[mod-]]">
> <$list filter="[all[tiddlers]has<mfield>]">
> <tr><th><<currentTiddler>></th><td><$view field=<<mfield>> /></td></tr>
> </$list>
> <tr><th><<mfield>></th></tr>
> </$set>
> </$set>
> </table>
> \end
>
> In addition I notice that fields cannot contain spaces. There does not 
> seem to be any filter operator to remove all spaces from a title to create 
> something that could be used as a field name, is this possible?
>
>

-- 
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 tiddlywiki+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywiki/355ddf42-2d7e-4956-afa0-6fb3b025b69ao%40googlegroups.com.

Reply via email to