@Jed, thanks for input on it.
----------
For anyone curious, I needed it to make a little quick reveal type macro because IMO the RevealWidget syntax is just too messy.
The syntax for qreveal (=quick reveal) is:
<<qreveal label content>>
the "label" is optional, but if you are using more than one qreveal in a tiddler then you need labels for them
So in practice it might look like
<<qreveal "
So this is some content that will be revealed.
">>
Here's the macro:
title: macro/qreveal
tags: $:/tags/Macro
text:
\define qreveal(label, content)
<$set name=label filter="""$content$ +[first[]]""" emptyValue="nolabel" value="$label$">
<$set name=content filter="""$content$""" emptyValue="""$label$""" value="""$content$""">
<$reveal type="nomatch" text="show"
state={{{ [[$(currentTiddler)$]addprefix[$:/state/qreveal/]addsuffix[/]addsuffix<label>] }}}>
<$button setTo="show"
set={{{ [[$(currentTiddler)$]addprefix[$:/state/qreveal/]addsuffix[/]addsuffix<label>] }}}>
<<label>> ▷
</$button>
</$reveal>
<$reveal type="match" text="show"
state={{{ [[$(currentTiddler)$]addprefix[$:/state/qreveal/]addsuffix[/]addsuffix<label>] }}}>
<$button setTo="hide"
set={{{ [[$(currentTiddler)$]addprefix[$:/state/qreveal/]addsuffix[/]addsuffix<label>] }}}>
<<label>> ▽
</$button>
<<content>>
</$reveal>
</$set>
</$set>
\end
P.S The reason for the complex way to set state names is given
here, in Jeremys post.
<:-)