action-log超好用
-
以前怎么不记得有这么个东西。在写wikitext时,特别是经常要用到各种微件和宏,变量什么的,经常就不知道怎么搞了。用这个一查,方便多了。
\define actions() <$action-log/> <$action-setfield $tiddler="$:/state/x/test" text=<<event-navigateTo>> /> \end <$button class="card"> <$action-setfield $tiddler="$:/state/x/test" text={{{ [!is[system]sort[title]]-[tag[X]] +[after{$:/state/x/test}] }}} /> <$messagecatcher $tm-navigate=<<actions>> > <%if [{$:/state/x/test}compare:number:gteq[1]] %> <$transclude tiddler={{{ [[$:/state/x/test]get[text]] }}} mode="block"/> <%else%> 恭喜你,你已经读完了所有内容了!!! <$button> <$action-setfield $tiddler="$:/state/x/test" text="1.1.1" /> 回到第一章 </$button> <%endif%> </$messagecatcher> </$button>
我这个示例要处理的是,让文本中跳转的链接内容直接显示在这个文本当中。所以用到了
$messagecatcher
微件,但和绝大多数文档内容一样,几乎没有什么新手友好的解释。因为
<$action-setfield $tiddler="$:/state/x/test" text=<<event-navigateTo>> />
这一段中,我把<<event-navigateTo>>
改成任意一个条目都能实现。所以我估计肯定是有一个变量名的,但我并不知道这个变量名是什么,怎么写。然后在开头的define中加入了
action-log
微件,直接把所有内容都显示出来了。直接对应查找就可以了。
透过这个控制台输出,我发现了之前插件里写的宏。那这样看的话,是不是每一个宏在处理TiddlyWiki的交互逻辑时都会运行一遍呢?那一些不常用的宏或许可以避免来提高性能了。