<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh">
	<id>https://zybkcn.com/w/index.php?action=history&amp;feed=atom&amp;title=Module%3ANavboxV2%2Fdoc</id>
	<title>Module:NavboxV2/doc - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://zybkcn.com/w/index.php?action=history&amp;feed=atom&amp;title=Module%3ANavboxV2%2Fdoc"/>
	<link rel="alternate" type="text/html" href="https://zybkcn.com/w/index.php?title=Module:NavboxV2/doc&amp;action=history"/>
	<updated>2026-05-04T07:25:09Z</updated>
	<subtitle>本wiki上该页面的版本历史</subtitle>
	<generator>MediaWiki 1.43.5</generator>
	<entry>
		<id>https://zybkcn.com/w/index.php?title=Module:NavboxV2/doc&amp;diff=23948&amp;oldid=prev</id>
		<title>入我相思门：​创建页面，内容为“{{NoteTA |G1 = IT |1 = zh-cn:用户; zh-tw:使用者; zh-hk:用戶; }} &lt;!--咱行文稍稍正式点好不好。。--&gt; ==简介== 合并了{{tl|Navbox}}相关的一系列模板。融合了{{tl|Navbox}}的行式、{{tl|Navbox subgroup}}的子代模块包含、{{tl|Navbox with columns}}的列式，{{tl|Navbox with collapsible groups}}）的折叠行式。  改写自模块:Navbox。  ==设计用途== 在引用模板后大小超过限制的页面中，有相当…”</title>
		<link rel="alternate" type="text/html" href="https://zybkcn.com/w/index.php?title=Module:NavboxV2/doc&amp;diff=23948&amp;oldid=prev"/>
		<updated>2022-05-13T16:24:45Z</updated>

		<summary type="html">&lt;p&gt;创建页面，内容为“{{NoteTA |G1 = IT |1 = zh-cn:用户; zh-tw:使用者; zh-hk:用戶; }} &amp;lt;!--咱行文稍稍正式点好不好。。--&amp;gt; ==简介== 合并了{{tl|Navbox}}相关的一系列模板。融合了{{tl|Navbox}}的行式、{{tl|Navbox subgroup}}的子代模块包含、{{tl|Navbox with columns}}的列式，{{tl|Navbox with collapsible groups}}）的折叠行式。  改写自&lt;a href=&quot;/wiki/Module:Navbox&quot; title=&quot;Module:Navbox&quot;&gt;模块:Navbox&lt;/a&gt;。  ==设计用途== 在引用模板后大小超过限制的页面中，有相当…”&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{NoteTA&lt;br /&gt;
|G1 = IT&lt;br /&gt;
|1 = zh-cn:用户; zh-tw:使用者; zh-hk:用戶;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;!--咱行文稍稍正式点好不好。。--&amp;gt;&lt;br /&gt;
==简介==&lt;br /&gt;
合并了{{tl|Navbox}}相关的一系列模板。融合了{{tl|Navbox}}的行式、{{tl|Navbox subgroup}}的子代模块包含、{{tl|Navbox with columns}}的列式，{{tl|Navbox with collapsible groups}}）的折叠行式。&lt;br /&gt;
&lt;br /&gt;
改写自[[模块:Navbox]]。&lt;br /&gt;
&lt;br /&gt;
==设计用途==&lt;br /&gt;
在引用模板后大小超过限制的页面中，有相当一部分页面是由于{{tl|Navbox}}模板超载导致。&lt;br /&gt;
*根据[https://zh.wikipedia.org/wiki/Wikipedia:%E6%A8%A1%E6%9D%BF%E9%99%90%E5%88%B6 模板限制]中“嵌套展开”的说法，相同页面的多次嵌套调用是会被分次统计的（例如：页面A嵌入页面B，页面B嵌入页面C，页面C相对页面A统计到的展开字节数是被计算了2次）。而现在Navbox的子代块、列式，折叠行式的实现都是基于Navbox行式的模板调用或类似样式结构迭代，这样就符合内部多次调用Navbox的条件，页面很容易会超过模版展开后大小的限制。&lt;br /&gt;
*其次，实际上Lua的运行限制条件相当宽裕，50MB的内存限制，10秒的运行时限制，很多页面实际使用只在十分之一左右或以下，可以被大量压榨性能。&lt;br /&gt;
所以将Navbox所有的实现全部以Lua实现，希望能腾出解释器运行量到Lua运行量，降低解析器触发展开后大小限制的可能。&lt;br /&gt;
&lt;br /&gt;
==效果==&lt;br /&gt;
:在对于包含一层子Navbox的情况，展开后大小下降最多有50~60%左右。&lt;br /&gt;
===对比例子===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==参数==&lt;br /&gt;
与{{tl|Navbox}}系列模板几乎兼容。但新增部分参数填入：&lt;br /&gt;
*&amp;lt;code&amp;gt;type&amp;lt;/code&amp;gt;：Navbox的类型，对应值为&amp;lt;code&amp;gt;vertical&amp;lt;/code&amp;gt;（对应{{tl|Navbox}}）、&amp;lt;code&amp;gt;horizontal&amp;lt;/code&amp;gt;（对应{{tl|Navbox with columns}}）、&amp;lt;code&amp;gt;vertical_collapsible&amp;lt;/code&amp;gt;（对应{{tl|Navbox with collapsible groups}}），默认值为&amp;lt;code&amp;gt;vertical&amp;lt;/code&amp;gt;。&lt;br /&gt;
*&amp;lt;code&amp;gt;border&amp;lt;/code&amp;gt;：Navbox的隐藏参数，用于控制Navbox的边框机制来使子Navbox能被嵌入到父Navbox的值字段（例如&amp;lt;code&amp;gt;list&amp;lt;/code&amp;gt;、&amp;lt;code&amp;gt;col&amp;lt;/code&amp;gt;等）中，实际对应{{tl|Navbox subgroup}}的实现机制。对应值为&amp;lt;code&amp;gt;child&amp;lt;/code&amp;gt;、&amp;lt;code&amp;gt;subgroup&amp;lt;/code&amp;gt;任一个。&lt;br /&gt;
::在本模板添加子Navbox层时，必须传入这两个参数，这是本模板区分是否存在子Navbox层的依赖。本模板首层Navbox层无需添加&amp;lt;code&amp;gt;border&amp;lt;/code&amp;gt;，按需添加&amp;lt;code&amp;gt;type&amp;lt;/code&amp;gt;。&lt;br /&gt;
*&amp;lt;code&amp;gt;removeGroupPadding&amp;lt;/code&amp;gt;：用于区别{{tl|Navbox|child}}和{{tl|Navbox subgroup}}，后者在Group&amp;lt;sub&amp;gt;n&amp;lt;/sub&amp;gt;字段的单元格增加一组padding的配置，适用于子Navbox层。任意值，存在则可，为移除该padding配置（对应{{tl|Navbox|child}}）。&lt;br /&gt;
&lt;br /&gt;
==自{{tl|Navbox}}系列模板转换==&lt;br /&gt;
将原有嵌入{{tl|Navbox}}系列模板的值字段&amp;lt;code&amp;gt;list&amp;lt;sub&amp;gt;n&amp;lt;/sub&amp;gt;&amp;lt;/code&amp;gt;（其他类同）改为&amp;lt;code&amp;gt;list&amp;lt;sub&amp;gt;n&amp;lt;/sub&amp;gt;-&amp;lt;/code&amp;gt;，并作为相应嵌套子Navbox模板的参数的前缀来加入，使这些模板嵌套转换为扁平化的一层模板参数。&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+例子&lt;br /&gt;
|-&lt;br /&gt;
! {{tl|Navbox}}系列 !! 本模板&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
{{Navbox&lt;br /&gt;
|name = Navbox/doc&lt;br /&gt;
|state = uncollapsed&lt;br /&gt;
|image = {{{image}}}&lt;br /&gt;
|imageleft = {{{imageleft}}}&lt;br /&gt;
|title = {{{title}}}&lt;br /&gt;
|above = {{{above}}}&lt;br /&gt;
|group1 = {{{group1}}}&lt;br /&gt;
|list1 = {{Navbox subgroup&lt;br /&gt;
 | title = {{{list1-title}}}&lt;br /&gt;
 | above = {{{list1-above}}}&lt;br /&gt;
 | below = {{{list1-below}}}&lt;br /&gt;
 | imageleft = {{{list1-imageleft}}}&lt;br /&gt;
 | image = {{{list1-image}}}&lt;br /&gt;
 | group1 = {{{list1-group1}}}&lt;br /&gt;
 | list1  = {{{list1-list1}}}&lt;br /&gt;
 | group2 = {{{list1-group2}}}&lt;br /&gt;
 | list2  = {{{list1-list2}}}&lt;br /&gt;
}}&lt;br /&gt;
|group2 = {{{group2}}}&lt;br /&gt;
|list2 = {{Navbox subgroup&lt;br /&gt;
| group1 = {{{list2-group1}}}&lt;br /&gt;
| list1  = {{{list2-list1}}}&lt;br /&gt;
| group2 = {{{list2-group2}}}&lt;br /&gt;
| list2  = {{{list2-list2}}}&lt;br /&gt;
}}&lt;br /&gt;
|below = {{{below}}}&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
{{NavboxV2&lt;br /&gt;
|name = Navbox/doc&lt;br /&gt;
|state = uncollapsed&lt;br /&gt;
|image = {{{image}}}&lt;br /&gt;
|imageleft = {{{imageleft}}}&lt;br /&gt;
|title = {{{title}}}&lt;br /&gt;
|above = {{{above}}}&lt;br /&gt;
&amp;lt;!--  list1 --&amp;gt;&lt;br /&gt;
|group1 = {{{group1}}}&lt;br /&gt;
&amp;lt;!-- list1-sub--&amp;gt;&lt;br /&gt;
|list1-type =vertical &amp;lt;!--作为list1的子Navbox层，全部相应参数加上对应前缀“list1-”，下同，如此类推 --&amp;gt;&lt;br /&gt;
|list1-border=child&lt;br /&gt;
|list1-title = {{{list1-title}}}&lt;br /&gt;
|list1-above = {{{list1-above}}}&lt;br /&gt;
|list1-below = {{{list1-below}}}&lt;br /&gt;
|list1-imageleft = {{{list1-imageleft}}}&lt;br /&gt;
|list1-image = {{{list1-image}}}&lt;br /&gt;
|list1-group1 = {{{list1-group1}}}&lt;br /&gt;
|list1-list1  = {{{list1-list1}}}&lt;br /&gt;
|list1-group2 = {{{list1-group2}}}&lt;br /&gt;
|list1-list2  = {{{list1-list2}}}&lt;br /&gt;
&amp;lt;!--  list2 --&amp;gt;&lt;br /&gt;
|group2 = {{{group2}}}&lt;br /&gt;
&amp;lt;!-- list2-sub--&amp;gt;&lt;br /&gt;
|list2-type =vertical &amp;lt;!--作为list2的子Navbox层，全部相应参数加上对应前缀“list2-”，下同，如此类推 --&amp;gt;&lt;br /&gt;
|list2-border=child&lt;br /&gt;
|list2-group1 = {{{list2-group1}}}&lt;br /&gt;
|list2-list1  = {{{list2-list1}}}&lt;br /&gt;
|list2-group2 = {{{list2-group2}}}&lt;br /&gt;
|list2-list2  = {{{list2-list2}}}&lt;br /&gt;
&amp;lt;!--end--&amp;gt;&lt;br /&gt;
|below = {{{below}}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==转换注意==&lt;br /&gt;
由于{{tl|Navbox}}系列的实现较为复杂和涉及自我嵌套，本模板的实现也为此做了对应兼容性调整，可能会出现一些参数被过度透传（可能在样式控制部分，原因是原有设计通过控制参数传入来隔离，而本设计为了使参数扁平化，导致部分这些参数无法隔离）。而且模板参数非常依赖命名规律，在转换替换前，请进行testcase检查，确认转换后能与原来的样式、功能基本一致，才应用转换。如果出现问题，请保留案例并联系本模板维护编辑协助处理，或者&amp;#039;&amp;#039;&amp;#039;放弃&amp;#039;&amp;#039;&amp;#039;。&lt;br /&gt;
&lt;br /&gt;
虽然可以在值字段（例如&amp;lt;code&amp;gt;list&amp;lt;/code&amp;gt;、&amp;lt;code&amp;gt;col&amp;lt;/code&amp;gt;等）重新嵌入{{tl|Navbox}}系列模板，但这和原有做法一样，失去了本模板降低解析器限制的作用，不建议这样做。&lt;/div&gt;</summary>
		<author><name>入我相思门</name></author>
	</entry>
</feed>