我有一个tiddlywiki[TW5]宏来确定一个人的年龄——用法是:
<<getAge birthDate deathDate>>
用法:
<<getAge "1898-10-04" "1947-12-09">>
我想把这个宏用在一个人的整理工具上——一个识别个人的整理程序。我也有事件花絮——比如一个人的出生和一个人的死亡。人物花边新闻被标记为";人";,出生花边新闻被标记为";出生;以及";事件";死亡花边新闻被标记为";死亡;以及";事件";。
所有事件日志都有一个日期字段和人员域——后者是与事件相关联的人员日志列表。
在一个个人小工具中,我用这个小部件显示出生日期:
<$list filter="[tag[event]tag[birth]contains:people{!!title}]">{{!!date}}</$list>
和死亡日期:
<$list filter="[tag[event]tag[death]contains:people{!!title}]">{{!!date}}</$list>
问题是,在一个人物小程序上,我如何获取出生日期和死亡日期并将其传递到getAge宏?
可能为时已晚,但可能的答案如下:
<$set name="birthdate" filter="[tag[event]tag[birth]contains:people{!!title}get[date]]">
<$set name="deathdate" filter="[tag[event]tag[death]contains:people{!!title}get[date]]">
<$macrocall $name="getAge" birth=<<birthdate>> death=<<deathdate>>/>
</$set>
</$set>
在这里,我将日期存储在两个变量中,然后在宏调用中将它们用作参数。
请注意,我使用了macrocall
小部件,因为我不确定是否可以通过以常规方式调用宏来实现这一点。