Even though the $set
filter is returning only one title, that title contains spaces. As a result, the value contained in theTaggedTiddler
is enclosed in doubled square brackets. Then, in your “diagnostic” output
theTaggedTiddler is <<theTaggedTiddler>><br>
the contents of theTaggedTiddler
are being automatically rendered as a link so the doubled square brackets don’t appear.
To see what theTaggedTiddler
variable actually contains, use:
theTaggedTiddler is <$text text=<<theTaggedTiddler>>/>
which is rendered as:
theTaggedTiddler is [[A Gentle Guide to TiddlyWiki]]
There are two ways to address this. You can either add a select=0
parameter to the $set
widget to return the first result without the doubled-square brackets:
<$set name="theTaggedTiddler" filter="[tag[HelloThere]nth[1]get[title]]" select=0>
or, use a $let
widget with a filtered transclusion, which automatically returns only the first result (again, without the doubled-square brackets):
<$let theTaggedTiddler={{{ [tag[HelloThere]nth[1]get[title]] }}}>
Also, note that get[title]
is redundant in all of the above filters, as [tag[HelloThere]nth[1]]
is already producing a tiddler title as it’s output. In addition, if you use a $let
widget, then the nth[1]
is also not needed, as $let
automatically returns the first result.
Thus, the cleanest syntax to use is:
<$let theTaggedTiddler={{{ [tag[HelloThere]] }}}>
enjoy,
-e