MediaWiki 中有 "identity" 模板吗?
Is there an "identity" template in MediaWiki?
在 MediaWiki 上,是否可以定义具有以下输出的模板?
(注意:非换行空格的规范化是可以的)
Invocation Expanded output
{{Identity|test}} test
{{Identity|test|}} test|
{{Identity||} |
{{Identity|a b|c}} a b|c
{{Identity|a|b=c|d}} a|b=c|d
也许这在某些扩展中很容易获得,但我不确定主机站点上有哪些扩展可供我使用。 (我知道它有 ParserFunctions)
如果不可能,是否有此功能的某个最大子集可以实现?
除了空格修剪和预处理更改之外,您可能可以使用 Scribunto frames 来完成。不过,这似乎是一种毫无意义的练习。
@bergi 通过解决 XY 问题在评论中回答。
用例是允许解析器函数扩展到包含 table rows/cells 的内容,而不会将它们的管道解释为解析器函数模板的定界参数。历史上使用的解决方案是简单地定义分别扩展为 |
和 ||
的 Template:!
and Template:!!
,以便可以通过键入
来转义 table 分隔符
Syntax Escaped form
| {{!}}
|- {{!}}-
|| {{!!}}
较新版本的 MediaWiki 现在甚至将 {{!}}
视为 a magic word,保证它始终被视为 table 语法的一部分,而不是模板的分隔符。
在 MediaWiki 上,是否可以定义具有以下输出的模板?
(注意:非换行空格的规范化是可以的)
Invocation Expanded output
{{Identity|test}} test
{{Identity|test|}} test|
{{Identity||} |
{{Identity|a b|c}} a b|c
{{Identity|a|b=c|d}} a|b=c|d
也许这在某些扩展中很容易获得,但我不确定主机站点上有哪些扩展可供我使用。 (我知道它有 ParserFunctions)
如果不可能,是否有此功能的某个最大子集可以实现?
除了空格修剪和预处理更改之外,您可能可以使用 Scribunto frames 来完成。不过,这似乎是一种毫无意义的练习。
@bergi 通过解决 XY 问题在评论中回答。
用例是允许解析器函数扩展到包含 table rows/cells 的内容,而不会将它们的管道解释为解析器函数模板的定界参数。历史上使用的解决方案是简单地定义分别扩展为 |
和 ||
的 Template:!
and Template:!!
,以便可以通过键入
Syntax Escaped form
| {{!}}
|- {{!}}-
|| {{!!}}
较新版本的 MediaWiki 现在甚至将 {{!}}
视为 a magic word,保证它始终被视为 table 语法的一部分,而不是模板的分隔符。