问题描述
我有一个tiddlywiki [TW5]宏来确定一个人的年龄,用法是:
<<getAge birthDate deathDate>>
用法:
<<getAge "1898-10-04" "1947-12-09">>
我想在个人提琴手上使用此宏-识别个人的提琴手。我也有活动提琴手-例如一个人的出生和另一个人的死亡。人物小提琴手被标记为“人”,出生的小提琴手被标记为“出生”和“事件”,而死亡的小提琴手被标记为“死亡”和“事件”。
所有事件小提琴手都有一个 date 字段和 people 字段-后一个字段是与该事件相关联的人小提琴手的列表。
<$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
widget,因为我不确定这是否可以通过以常规方式调用宏来完成。