本模板目的在于对于{{时间线}}显示进行扩展。
现已实现功能:
其他功能有待扩展。比如特定文字格式化功能、统计功能等分割功能。另外也可以考虑多个时间线的合并功能(也许很有价值)。
排列参数
(sortargs
sort
):排序参数。设置关于时间线模板的使用与否。具体参考{{时间线}}中相关描述。需要注意的是,设置为false
的场合,可能会导致部分标签无法正常使用。auto
:自动标签识别。使用lua的正则表达式对事件文本匹配从而自动产生标签。方便但可能消耗更多时间。值格式中不同标签由#分开,标签名与表达式间用:分开,如标签名1:正则表达式#标签名2:正则表达式
。允许重复赋值作为追加或。显示标题
(index
i
):默认开启。设置为false
使用模拟标题,不具有编辑标签,不加入目录。间隔宽度
(columnwidth
cw
)时间与事件间的间隔宽度。默认为120px
。设置为none
则关闭分栏。折叠标签
(clps
collapsible
):设置事件可以折叠。赋值标签用#
隔开,如标签名1#标签名2#标签名3
,-标签名
表示事件默认隐藏。设置为all
对所有标签生效。实现所使用的标签为mw-customcollapsible-标签名
。建议使用{{菜单栏}}设置折叠按钮。也可以使用{{折叠标签}}作为标签切换按钮。事实上任意影响mw-customcollapsible-标签名
的结构都可以。传递标签
(var
):信息传递。指示含有该标签的事件赋值/获取对应的#var
设置值。赋值标签用#
隔开,如标签名1#标签名2#标签名3
。如果在模板执行时,该局部变量存有值,则会将其视为具有着设定的标签的调用作为匿名参数的一部分。模板执行后,会将标记相关标签的值作为局部变量保存。匿名参数皆为事件。在之后追加##
作为标签文本的开始。标签允许使用正规的布尔表达式进行书写。顺序默认从左到右。
标签文本采用模块:TextPredicate作为识别支持,使用#
代替|
。
其中:
#
代表或&
代表与-
代表非()
内优先运算一个合法的标签文本可以为##a&-b#(p&d)
。当然,一般情况下不需要如此复杂的标签式。
使用##标签1#标签2#标签3
作为并列标签足以应对多数情况。
最简调用示例{{扩展时间线|事件1##tag1|事件2##tag2|事件3##tag1#tag2}}
这样的调用会使事件1在tag1
打开时显示,事件2在tag2
打开时显示,事件3在tag1
或tag2
打开时显示。
与时间线模板相同,该模板可以直接套用在已有时间线上。但默认格式与时间线模板有所区别。
代码 | 效果 |
---|---|
{{扩展时间线| *1911年到1989年,无事发生 *1990年到2020年,神秘纪元 **1992年2月1日,地球毁灭了 ***同日,月球毁灭了 **2020年4月2日,神龙出世(排序错误) **2012年10月5日,ufo降临地球 }} |
|
代码 |
{{折叠标签|唱歌|唱歌-off|唱歌-on}}{{折叠标签|跳舞|跳舞-on|跳舞-off}} {{扩展时间线|clps=-唱歌#跳舞 |2011年1月,唱了歌##唱歌 |2022年3月,跳了舞##跳舞 |2223年8月,或唱或跳##唱歌#跳舞 |2225年8月,或唱或没跳##唱歌#-跳舞 |2225年8月,唱且没跳##唱歌&-跳舞 }} |
效果 |
唱歌-off唱歌-on 跳舞-on跳舞-off
|
利用var进行时间线内容的共享传递。
代码 |
时间线1 {{扩展时间线|var=唱歌 |2011年1月,唱了歌##唱歌 |2022年3月,跳了舞##跳舞 |2223年8月,或唱或跳##唱歌#跳舞 |2225年8月,或唱或没跳##唱歌#-跳舞 |2225年8月,唱且没跳##唱歌&-跳舞 }} 时间线2 {{扩展时间线|var=唱歌| }} |
效果 |
时间线1
时间线2
|
利用auto进行自动匹配标签。auto使用的是lua的正则表达式。如果匹配成功,则为事件自动增加一个对应标签,与在事件后设置标签效果等同。匹配内容复杂可能会较为消耗时间。
代码 |
{{折叠标签|唱歌|唱歌-off|唱歌-on}}{{折叠标签|跳舞|跳舞-on|跳舞-off}} {{扩展时间线|auto=唱歌:唱|clps=唱歌#-跳舞 |2011年1月,唱了歌 |2022年3月,跳了舞##跳舞 }} |
效果 |
唱歌-off唱歌-on 跳舞-on跳舞-off
|