在TiddlyWiki

时间:2016-11-23 00:07:38

标签: tiddlywiki tiddlywiki5

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

我有一些小提琴,我使用tabs宏包含在另一个小提琴中。每个tiddler都有两个与之关联的标签之一。我想根据与哪个标记相关联,在标签视图中的caption附加一段文字。

我不喜欢是否通过在保存时添加某种回调来编辑caption来完成此操作,这可以某种方式动态计算所需的caption,更改tabs宏的调用以重新计算渲染上的caption,或以某种方式使模板计算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">>

所有这些行都来自不同的模板,只需提取一个tiddlers列表,然后使用提供的模板将模板转换为制表符。 目前,标签带有tiddler caption标题(如果已定义),并回退到title。我想改变标题,理想情况是不要在tiddlers中插入过多的样板。

1 个答案:

答案 0 :(得分: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>

我不确定我是否正确使用了列表小部件,但它确实有效。