目前我正在尝试创建一个宏。该宏将在一个$list
小部件中使用,该小部件将循环通过一组提琴手(根据某些过滤标准选择,这些标准在此处不相关)。
在上述$list
小部件中,对于每个 tiddler,宏将遍历所有具有特定前缀(即“link_”)的 tiddler 字段。这些字段包含作为其值的 Internet 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
对比
计算机编程(超链接到同一页面,但带有自定义超链接文本)
但是用上面的方法做上面的事情似乎是不可能的,$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 表达式中的值。
那么如何实现上述目标呢?有没有办法将小部件本身的输出用作另一个 wikitext 表达式的值,还是有其他方法可以实现我的目标?
提前致谢。