模板:擴展時間線/doc
簡介
本模板目的在於對於{{時間線}}顯示進行擴展。
現已實現功能:
- 按照類似表格的方式分割時間文本與文字內容。
- 增添點擊標籤篩選顯示特定內容的功能。
- 增添按照特定標籤傳遞事件的功能。
其他功能有待擴展。比如特定文字格式化功能、統計功能等分割功能。另外也可以考慮多個時間線的合併功能(也許很有價值)。
參數
可選參數
- 特殊:
排列参数(sortargssort):排序參數。設置關於時間線模板的使用與否。具體參考{{時間線}}中相關描述。需要注意的是,設置為false的場合,可能會導致部分標籤無法正常使用。auto:自動標籤識別。使用lua的正則表達式對事件文本匹配從而自動產生標籤。方便但可能消耗更多時間。值格式中不同標籤由#分開,標籤名與表達式間用:分開,如标签名1:正则表达式#标签名2:正则表达式。允許重複賦值作為追加或。
- 格式參數:
显示标题(indexi):默認開啟。設置為false使用模擬標題,不具有編輯標籤,不加入目錄。间隔宽度(columnwidthcw)時間與事件間的間隔寬度。默認為120px。設置為none則關閉分欄。
- 標籤:用於指示事件的特殊性質。
折叠标签(clpscollapsible):設置事件可以摺疊。賦值標籤用#隔開,如标签名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降临地球
}}
|
Module:擴展時間線第264行Lua錯誤:attempt to index local 'timeLine' (a nil value) |
標籤摺疊
| 代碼 |
{{折叠标签|唱歌|唱歌-off|唱歌-on}}{{折叠标签|跳舞|跳舞-on|跳舞-off}}
{{扩展时间线|clps=-唱歌#跳舞
|2011年1月,唱了歌##唱歌
|2022年3月,跳了舞##跳舞
|2223年8月,或唱或跳##唱歌#跳舞
|2225年8月,或唱或没跳##唱歌#-跳舞
|2225年8月,唱且没跳##唱歌&-跳舞
}}
|
| 效果 |
唱歌-off唱歌-on 跳舞-on跳舞-off
Module:擴展時間線第264行Lua錯誤:attempt to index local 'timeLine' (a nil value) |
時間線傳遞
利用var進行時間線內容的共享傳遞。
| 代碼 |
时间线1
{{扩展时间线|var=唱歌
|2011年1月,唱了歌##唱歌
|2022年3月,跳了舞##跳舞
|2223年8月,或唱或跳##唱歌#跳舞
|2225年8月,或唱或没跳##唱歌#-跳舞
|2225年8月,唱且没跳##唱歌&-跳舞
}}
时间线2
{{扩展时间线|var=唱歌|
}}
|
| 效果 |
時間線1 Module:擴展時間線第264行Lua錯誤:attempt to index local 'timeLine' (a nil value) 時間線2 Module:擴展時間線第264行Lua錯誤:attempt to index local 'timeLine' (a nil value) |
自動標籤
利用auto進行自動匹配標籤。auto使用的是lua的正則表達式。如果匹配成功,則為事件自動增加一個對應標籤,與在事件後設置標籤效果等同。匹配內容複雜可能會較為消耗時間。
| 代碼 |
{{折叠标签|唱歌|唱歌-off|唱歌-on}}{{折叠标签|跳舞|跳舞-on|跳舞-off}}
{{扩展时间线|auto=唱歌:唱|clps=唱歌#-跳舞
|2011年1月,唱了歌
|2022年3月,跳了舞##跳舞
}}
|
| 效果 |
唱歌-off唱歌-on 跳舞-on跳舞-off
Module:擴展時間線第264行Lua錯誤:attempt to index local 'timeLine' (a nil value) |