我的全局宏显示了具有特定标记的所有tiddlers的列表。标签取自调用宏的tiddler的列表字段。在常规tiddler中使用时,宏工作正常,但如果我通过$:/tags/SideBar
将tiddler设置为侧边栏,侧边栏会显示选项卡,但内部没有任何内容。
我的原始版本在调用宏时工作,当我明确地识别标签时如下:<<activityList book>>
,但我真正想要的是将标签(书)放在一个字段中并拉出:<$macrocall $name=activityList category={{!!list}} />
。
我做了另一个版本,工作如下:它使用了与上面相同的宏调用,但现在列表字段中有[book]
,如<<revisedActivityList [book]>>
。
这是第一个宏(第3行和第4行不相关,它们只是输出):
\define activityList(category:"" tag:"tag[")
<$list filter="[$tag$$category$]]">
» <$link to=<<currentTiddler>>><$view field=title/></$link><br>
{{||$:/core/ui/ViewTemplate/tags}}
</$list>
叫做:
<$macrocall $name=activityList category={{!!list}} />
在此版本中,括号由列表宏过滤器参数提供。注意不寻常的第二个参数(允许我从标签搜索切换到另一个过滤功能搜索,例如has或is)。这不是必需的,但我发现它有效。
我重写了这个以修复括号并将括号放在FIELD列表中,认为这是问题所在。
\define revisedActivityList(category:"" tag:"tag")
<$list filter="[$tag$$category$]">
» <$link to=<<currentTiddler>>><$view field=title/></$link><br>
{{||$:/core/ui/ViewTemplate/tags}}
</$list>