0

我正在整理一些 TiddlyWiki 模板,我遇到了一些很不错的东西,但我不确定它是否真的可行。

我有一些提琴手,我将它们包含在另一个使用tabs宏的提琴手中。每个提琴手都有与之关联的两个标签之一。我想caption根据关联的标签将一段文本附加到选项卡视图中。

对于是否通过添加某种回调来编辑captionon save、以某种方式caption即时计算所需的东西、更改tabs宏的调用以重新计算captionon 渲染或以某种方式导致计算caption字段的模板。

通过文档,我没有发现任何有希望的东西,但也许我只是没有弄清楚与我的问题相关的内容。我发现这种情况经常发生。

就像,我确信我可以根据标签是否存在来编写条件,但是我看不到任何caption基于任何类型的计算将文本插入到字段中的方法。

作为参考,这是我当前的宏调用:

<<tabs [list[]] state:$:/state/tabPeriod template:PeriodTemplate>>

<<tabs [list[$(currentTab)$]] state:$:/state/tabEvent class:"tc-vertical" template:"EventTemplate">>

<<tabs [list[$(currentTab)$]] state:$:/state/tabScene template:"SceneTemplate">>

所有这些行都来自不同的模板,只需拉出一个提琴手列表并使用提供的模板将它们模板转换到选项卡中。目前,选项卡以 tiddler 为标题caption(如果已定义),并回退到title. 我想更改标题,理想情况下不要在提琴手中插入太多样板。

4

1 回答 1

2

我想出了我需要做的不同的事情:我基于 tabs 宏定义了一个自定义宏,添加了逻辑,现在它可以正常工作了。我基本上只是将标题逻辑的当前内容更改为:

<$set name="tv-wikilinks" value="no">
<$transclude tiddler=<<currentTab>> field="caption">
<$macrocall $name="currentTab" $type="text/plain" $output="text/plain"/>
</$transclude>
<$list filter='[<currentTab>tag[light]]'>
○
</$list>
<$list filter='[<currentTab>tag[dark]]'>
●
</$list>
</$set>

我不确定我是否正确使用了列表小部件,但它可以工作。

于 2016-11-23T14:53:55.340 回答