TiddlyWiki列表链接显示去前缀名称但指向原tiddler的问题
解决TiddlyWiki显示去前缀名称但链接原tiddler的问题
你当前代码的问题在于,removeprefix直接修改了传递给list-links的tiddler标题值,导致生成的链接指向处理后的名称(比如Mytiddler),而非实际存在的原tiddler(The Mytiddler)。
用<$list>组件配合<$link>组件就能实现需求,以下是具体方案:
单字母分组实现(以A组为例)
A <$list filter="[prefix[A]] [removeprefix[The ]match[A]]"> <$link to=<<currentTiddler>>> <$text text={{{ [<currentTiddler>removeprefix[The ]] }}} /> </$link><br> </$list>
批量生成A-Z索引(用宏简化重复代码)
如果要快速生成全字母分组,定义一个宏来减少重复工作:
\define letter-group(letter) ### $letter$ <$list filter="[prefix[$letter$]] [removeprefix[The ]match[$letter$]]"> <$link to=<<currentTiddler>>> <$text text={{{ [<currentTiddler>removeprefix[The ]] }}} /> </$link><br> </$list> \end <<letter-group "A">> <<letter-group "B">> <<letter-group "C">> <!-- 按需添加D到Z的宏调用 -->
关键逻辑说明
<$list>的筛选规则:先抓直接以目标字母开头的tiddler,再抓去掉"The "前缀后以目标字母开头的tiddler,确保两类tiddler都能被纳入对应字母分组。<$link to=<<currentTiddler>>>明确指定链接指向原tiddler标题,完全不受后续显示文本的影响。<$text text={{{ [<currentTiddler>removeprefix[The ]] }}} />专门负责显示去掉前缀后的名称,和链接目标彻底解耦。
内容的提问来源于stack exchange,提问作者DMfiend
相关产品推荐
相关产品推荐

