MCBBS Wiki欢迎您共同参与编辑!在参与编辑之前请先阅读Wiki方针

如果在编辑的过程中遇到了什么问题,可以去讨论板提问。

为了您能够无阻碍地参与编辑 未验证/绑定过邮箱的用户,请尽快绑定/验证

MCBBS Wiki GitHub群组已上线!

您可以在回声洞中发表吐槽!

服务器状态监控。点击进入

本站由MCBBS用户自行搭建,与MCBBS及东银河系漫游指南(北京)科技有限公司没有从属关系。点此了解 MCBBS Wiki 不是什么>>

MCBBS Wiki:嵌入

来自MCBBS Wiki
跳到导航 跳到搜索

嵌入(transclusion,或称“嵌入包含”)在Wiki一般指将一份文档置入其他文档之中的行为。嵌入操作是MediaWiki的“模板”功能实现的基础,关于其原理和使用方式,可以参考模板的帮助文档

请注意:transclusion(动词transclude)是一个年轻的英文词汇,尚无公认译名,甚至许多英文词典也未尝收录,这里暂且翻译为“嵌入”。

运作方式

嵌入的具体操作可以简单地理解为,将某个文档(或者片段)复制到其他文档的指定位置:其中提供内容的文档称为嵌入的“来源”,接受内容的文档称为嵌入的“目标”。

在MediaWiki中(本站使用的Wiki软件),你需要在目标文档使用以下代码完成嵌入:{{来源文档}}

来源文档
'''盐酱超级可爱!'''
目标文档
目标文档内容1
{{来源文档}}
目标文档内容2
来源文档
盐酱超级可爱!
目标文档
目标文档内容1
盐酱超级可爱!
目标文档内容2

嵌入的内容并非始终不变,来源文档的内容改变时,目标文档的对应内容会自动变化。

来源文档
'''盐酱<u>世界第一</u>可爱!'''
目标文档
目标文档内容1
{{来源文档}}
目标文档内容2
来源文档
盐酱世界第一可爱!
目标文档
目标文档内容1
盐酱世界第一可爱!
目标文档内容2

当然,你也可以将来源文档嵌入到多个目标文档里,或者在一个目标文档里嵌入多次。

来源文档
'''盐酱超级可爱!'''
目标文档1
目标文档内容1
{{来源文档}}
目标文档内容2
目标文档2
{{来源文档}}
其他内容
{{来源文档}}
来源文档
盐酱超级可爱!
目标文档1
目标文档内容1
盐酱超级可爱!
目标文档内容2
目标文档2
盐酱超级可爱!
其他内容
盐酱超级可爱!

功能

嵌入可以减少许多重复操作。比如给文字上色的工作,如果每个页面都使用HTML代码上色,那么你会在页面的源代码中看到不少这样的东西:<span style="color:颜色">文字文字</span>,阅读起来比较困难,也提高了编辑的门槛;但如果你在页面嵌入了{{color}}模板,你可以将大量的HTML代码换成这样的格式:{{color|颜色|文字文字}},减少了代码量,也使源代码更简单易读。

嵌入可以减免一些维护工作。最常见的例子是大家族模板,比如许多用户页面底部的{{MCBBS论坛用户}}模板,将所有已收录用户的列表放在一个模板中,统一维护;如果不使用模板嵌入,而是每个页面都自己编写,那么代码量将会非常大,甚至根本无法维护。

嵌入可以辅助文档管理。比如一些特殊的模板(像是{{Main}}模板)往往需要施加保护,以防有人鲁莽地添加问题代码;但是很多时候,模板的文档不应一齐列入保护,应该让大家帮忙完善:此时可以使用嵌入的方式,将模板的文档嵌入到模板页面中,这样同时满足了“模板应该保护起来”和“模板文档应该自由编辑”两个需求。相关信息可以参考:模板文档页模式

示例

实际上,运作方式这一节就是利用嵌入操作,将子页面“运作方式”置入本文之中。

最常见的嵌入操作是使用模板。