我想要实现的示例
我有许多补丁页面(“补丁 1.4”、“补丁 1.5”等)列出了对项目所做的更改,其中受影响/更改的内容链接到相应的页面(“确认对话框”、“foo” , ETC。):
补丁 1.4
- 修复了 [[确认对话框]] 中的拼写问题
补丁 1.5
- 添加了两个选项:[[foo]]、[[bar]]
在有关已更改内容的页面上(“确认对话框”,“foo”,...),我想自动显示所有相应的更改:
富
- [[Patch 1.5]]:增加了两个选项:[[foo]]、[[bar]]
Semantic MediaWiki 的子对象可以做到这一点
#subobject
允许我为补丁页面上的每个更改创建一个(匿名)对象:
{{#subobject:|
|Changes=Added two options: [[foo]], [[bar]]
|Affects=Foo|Bar
}}
在每一页(“foo”等)上,我可以包含一个#ask
子对象查询来列出所有匹配的子对象:
{{#ask: [[Affects::{{FULLPAGENAME}}]]
|? Changes
}}
伟大的。
问题:我必须复制更改条目。
在补丁页面上,更改条目如下所示:
* Added two options: [[foo]], [[bar]] {{#subobject:|
|Changes=Added two options: [[foo]], [[bar]]
|Affects=Foo|Bar
}}
所以我必须两次指定“添加了两个选项:[[foo]],[[bar]]”:一次用于可见内容,一次用于不可见子对象。
(语义)MediaWiki 中有没有办法做到这一点而不必复制内容?
理想的解决方案只需要我附上更改条目并在其旁边指定受影响的页面,例如:
* {{ Added two options: [[foo]], [[bar]] }}((foo|bar))
由于每个补丁页面可以列出数百个更改,我不想为每个更改创建单独的页面。