【问题标题】:TiddlyWiki: Filter table of contents by multiple tagsTiddlyWiki:按多个标签过滤目录
【发布时间】:2020-01-26 08:16:57
【问题描述】:

我有一个 tiddlywiki,里面有多个角色扮演游戏笔记。每个 tiddly 都标有其各自的游戏名称和类别(例如“城市”或“NPC”)。

现在我想创建一个仅列出例如一个游戏的 NPC 的目录。我想用toc 来做。

我当前的代码是这样的:

<div class="tc-table-of-contents">
<<toc 'NPC'>>
</div>

但是,这给了我所有 NPC。如何添加另一个标签作为过滤条件?

【问题讨论】:

    标签: tiddlywiki tiddlywiki5


    【解决方案1】:

    可能为时已晚,但对于遇到此问题的其他人来说,toc 宏的 sort 参数可以包含任意过滤步骤或步骤,因此您可以这样做:

    <div class="tc-table-of-contents">
    <<toc 'NPC' sort:"tag[SecondTag]">>
    </div>
    

    有关 toc 及其同级选项的完整说明,请参阅 Table-of-Contents Macros


    如果您希望过滤器匹配多个条件 AND 一起,您可以说,例如,tag[one]tag[two]。但是,OR 条件并不是真正设计为在这里工作,因为您需要多个 filter runs 在过滤器中执行 OR 条件,而 sort 命令只需要过滤器步骤。

    这是一个似乎适用于 5.1.23 的 OR 条件的 hack:

    <div class="tc-table-of-contents">
    <<toc 'TableOfContents' sort:"tag[one]][all[shadows+tiddlers]tag<__tag__>!has[draft.of]tag[two]">>
    </div>
    

    但是,这实际上是对toc 宏进行注入攻击,所以如果我是你,我不会相信它会继续工作。如果你需要这么复杂的东西,你可能会比尝试使用 toc 宏更好地用一个或三个 $list 小部件自己装配一些东西。

    【讨论】:

    • 接受! :D 谢谢!您还可以展示如何在 sort 参数中给出多个标签吗?文档没有说明这一点(至少我所看到的)。
    • 非常感谢您的洞察力!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-05
    • 1970-01-01
    • 2021-09-08
    • 2017-05-25
    • 2012-11-28
    相关资源
    最近更新 更多