如何解决如何使用 tiddlywiki 小部件本身的输出作为另一个 wikitext 表达式的值?
目前我正在尝试创建一个宏。该宏将在 $list
小部件中使用,该小部件将在一组 tiddlers 中循环使用(根据特定的过滤条件进行选择,这些条件本身与此处无关)。
在上面的 $list
小部件中,对于每个 tiddler,宏将遍历具有特定前缀(即“link_”)的 tiddler 的所有字段。这些字段包含作为其值的互联网 URL。
我不仅希望将这些 URL(对于每个 tiddler)显示为一个列表,而且我希望它们充当这些 URL 的超链接。
现在到目前为止,下面的宏已经起作用了:
\define myMacro(prefix:"")
<$list filter="[fields[]prefix[$prefix$]sort[title]]" variable="fieldName">
<$transclude field=<<fieldName>>/>
</$list>
\end
上面所做的只是简单地打印该字段的值(URL),同时确保它也充当该特定 URL 的超链接。
但是
我希望进一步改进这一点。我希望这些链接的文本不是链接本身,而是自定义文本。
例如:
https://en.wikipedia.org/wiki/Computer_programming
对比
Computer Programming(超链接到同一页面,但带有自定义超链接文本)
但是使用上面的 $transclude
方法似乎不可能完成上述操作,除非有一种方法可以将小部件本身的输出用作值。
我已经直接检查过类似的东西:
[[Custom link name|<$transclude field=<<fieldName>>/>]]
或
<a href=<$transclude field=<<fieldName>>/> >Custom link name</a>
不起作用。
我也尝试过其他方法,但它们不起作用。它们如何不起作用?
假设在那个特定的 tiddler 中有一个名为 list_1
的变量,它的值为 https://en.wikipedia.org/wiki/Computer_programming
。我希望使用 https://en.wikipedia.org/wiki/Computer_programming
作为 href
标签的 <a>
值。
但是使用我尝试过的所有方法,我最多只能通过 list_1
访问值 <<fieldName>>
本身。
只有 $transclude 方法本身允许我使用 list_1
本身的值(即 https://en.wikipedia.org/wiki/Computer_programming
),但它不允许您 AFAIK 将其用作另一个维基文本表达式中的值。
那么我如何实现上述目标?有没有办法将小部件本身的输出用作另一个 wikitext 表达式的值,或者有没有其他方法可以实现我的目标?
提前致谢。
解决方法
不确定我是否理解您的目标,但这绝对是错误的:
<a href=<$transclude field=<<fieldName>>/> >Custom link name</a>
您应该使用
<$link to={{{[[title]get<fieldName>]}}}>Custom link name</$link>
或
<$link to={{{[<variableWithTitle>get<fieldName>]}}}>Custom link name</$link>
编辑:添加标题以过滤
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。