This is a bit rough, but should be tweakable to what you need if you don’t want to use the plugin @atronoush. It’s just a general recursive loop I tweaked from a post on “recursive” in Google Groups.
\define parent-loop() <$list filter="[<currentTiddler>tags[]]"><<currentTiddler>>#<$macrocall $name="parent-loop">></$list>
\define parents() <$tiddler tiddler="$(currentTiddler)$"><<parent-loop>></$tiddler>
That’s the meat of the work, calling parents
which calls parent-loop
reclusively.
If you want to show in order of “up” the chain as it would be discovered, it’d be something like:
<$tiddler tiddler="child-tiddler">
<<parents>>
</$tiddler>
And since you showed it instead in order of top down, you’d have to wikify it, split, reverse order, and then re-join it like this:
<$tiddler tiddler="child-tiddler">
<$wikify name="myparents" text=<<parents>>>{{{ [<myparents>split[#]butlast[1]reverse[]join[/]] }}}</$wikify>
</$tiddler>
Note that I “lazily” used the #
character as a delimiter, so if you use that in your titles, change it to another character. Note the child-tiddler
is the name of the tiddler at the end of the chain so-to-speak.