模板:時間線底層代碼

模板頁面
文檔圖示 模板文件[檢視] [編輯] [查看歷史] [清除快取]

簡介

時間線模板主要用於統一時間線,自動排列,輔助格式化。可以廣泛的用在時間線書寫、維護、格式化上。 調用模塊:模糊時間對時間文本進行分析與格式化。

參數

為簡化輸入,括號內是參數的簡寫模式。

可選參數

  • 特殊:
    • 排列参数sortargssort):排序參數。設置為true並配合subst排列參數並返回sortargs參數為false的本模板(強迫症必備),設置為once則會去除sortargs參數。在sortargs參數為false時模板不會工作,只識別句段分割符,句段連接符,並返回內容本身。
  • 時間文本:
    • 使用模塊:模糊時間進行識別、格式化,具有{{模糊時間}}同樣的可選參數。其中格式化字符串的默認值為"%Y%M%(Mi)%D%(Di)%H%I%S"强制精确度的默認值為true,可以設置為false關閉。
  • 識別:
    • 句段分割符sentencesplitss):分割文本,與分割為多個參數等效。默認為換行符\n。不適用正則匹配。
    • 时间-文本分割符time-textsplittts):時間與文本的分割符。隔開時間與事件描述。默認為(實際代碼中上會被忽略)。
    • 时间标题符timeTitlett):用作時間標題的符號,默認為=。便於識別的小標題。被識別為標題的內容會保留標題格式。
    • 项目符号bulletb):用作前綴的符號。識別時將之刪除。默認為\*\為轉義符。
    • 當時間被省略了前部分,那麼將視為上一時間同樣。支持同时同日同年同秒同期描述。
    • 當文本不具有任何時間描述,那麼將視為上一條文本的一部分。第一條文本必須具有時間描述。
  • 格式化:
    • 主要格式:
      • 句段连接符sentencecontextsc):填充到句段間的間隔符。默認為換行符\n
      • 时间格式-同时缩进indentsametimeist):默認開啟,設置為false關閉。指示同時事件將縮進到同一事件下。
      • 时间前符pretimept):附加到時間前的文本。默認為空。
      • 时间后符aftertimeat):附加到文本描述前時間後的文本。默認為。可以選擇設定為全形空格,並把對齊長度設定為一個數值(如22),以達到另一種格式。
      • 时段前符prerangepr):附加到時間前的文本,在時間前符後。按時段的層級重複。默認為*,以產生不定序號縮進效果。
      • 时段后符afterrangear):附加到文本描述後的文本,在文本後符前。按時段的層級重複。默認為空,可以配合時段前符附加樣式。
      • 时间格式-省略timeformatcuttfc):省略格式。默認開啟,設置為false關閉。開啟後將時間中的與上層相同的部分省略,並將同一時間的描述改為同时同日等。
    • 標題格式:
      • 标题层级titleleveltl):若有值,則開啟標題格式化。為時間線增加分標題,值為增添的層數。
      • 标题顶级层级titletopttp):最頂級的標題層級。即重複的=的次數。默認為3
      • 标题单位表titleunitstus):指示不同層級使用的格式單位,遵循{{模糊時間}}的格式化表。默認表為{%C,%T,%Y,%M,%D}
      • 标题单位titleunittu):需要標題化的最高層級單位,即對應上表中第幾位。默認為3,對應%Y。對應於單位年。
    • 次要格式:
      • 对齐长度alignlengthal):使用補充空格的方式將時間後面的文本對齊到同一開頭,以起到類似制表符的效果。數值表示文本相對於開頭的距離。默認為0。由於空格寬度問題效果並不好,因此推薦使用{{擴展時間線}}的格式化。
      • 文本前符presentenceps):附加到文本描述前的文本。默認為空。
      • 文本后符aftersentenceas):附加到文本描述後的文本。默認為空。

數字參數

  • 數字參數皆為事件文本。
  • 事件文本需要遵守如下格式(括號內為可有可無):

(项目符号+)时间点(+时间段关键字+时间点)(+文本)

格式化後得到: 重复层级次数的时段前符+时间前符+时间+时间后符+对齐长度的空格+文本前符+文本+文本后符+重复层级次数的时段后符+

調用

最簡調用示例:{{时间线|text1|text2|text3}}

實例

亂序調整以及前綴補充

以下參數皆為亂序

代碼 效果
{{时间线
|2012年10月5日,ufo降临地球
2020年4月2日,神龙出世(识别了换行符)
|1992年2月1日,地球毁灭了
|同年2月1日,月球毁灭了(省写年份)
|2月1日,人类灭绝了(有没有前缀无所谓)
|1990年到2020年,神秘纪元
|1911年到1989年,无事发生
}}
  • 1911年到1989年,無事發生
  • 1990年到2019年,神秘紀元
    • 1992年2月1日,地球毀滅了
      • 同日,月球毀滅了(省寫年份)
      • 同日,人類滅絕了(有沒有前綴無所謂)
    • 2012年10月5日,ufo降臨地球
    • 2020年4月2日,神龍出世(識別了換行符)

直接套用

由於默認參數的原因,這個模板可以直接加到現成的時間線(甚至是有所錯誤的)上使用

代碼 效果
{{时间线|
*1911年到1989年,无事发生
*1990年到2020年,神秘纪元
**1992年2月1日,地球毁灭了
***同日,月球毁灭了
**2020年4月2日,神龙出世(排序错误)
**2012年10月5日,ufo降临地球
}}
  • 1911年到1989年,無事發生
  • 1990年到2019年,神秘紀元
    • 1992年2月1日,地球毀滅了
      • 同日,月球毀滅了
    • 2012年10月5日,ufo降臨地球
    • 2020年4月2日,神龍出世(排序錯誤)

手動更新

使用這樣的模板結構:

{{时间线|sortargs=false|
(内容)
}}

其中的內容將直接顯示。模板功能不會運行。因此也基本不會占用加載時間。

維護更新時,將新事件直接追加到內容後方,並在時間線前加上「subst:」,將sortargs設為true。如下

{{subst:时间线|sortargs=true|
(内容)
(新内容)
}}

保存後,則得到規範後的原有結構。

{{时间线|sortargs=false|
(新的规范内容)
}}

要注意的是,這個模板參數需要保證規範後的輸出結構可以作為參數使用。

包含時間標題

保留標題

模板允許包含標題,將保留標題層級。並將其視為時間層級的根層級。

代碼 效果
{{时间线|
===== 2018 =====
* 5月2日,[[hololive]]开始一期生招募活动。
* 5月16日,Twitter账号开通。
* 5月25日,YouTube账号开通。
* 5月31日,发布首条推文。
* 6月1日,夏色祭正式开始活动,同日晚23时(日本时间6月2日0时)进行首次直播。
* 7月上旬,收益化通过。<!-- 5日的直播没有SC,11日的直播有SC,但是第一次收益化通过夏哥没发推,估计具体时间是找不到了 -->
* 11月2日,新服装发布。
}}
2018年
  • 5月2日,hololive開始一期生招募活動。
  • 5月16日,Twitter帳號開通。
  • 5月25日,YouTube帳號開通。
  • 5月31日,發布首條推文。
  • 6月1日,夏色祭正式開始活動,同日晚23時(日本時間6月2日0時)進行首次直播。
  • 7月上旬,收益化通過。
  • 11月2日,新服裝發布。

創建標題

將titlelevel設置為大於0的值,補充賦予時間線層級劃分的小標題。不會覆蓋已有標題。

代碼 效果
{{时间线|titlelevel=2|titletop=5|
===== 2018 =====
* 5月2日,[[hololive]]开始一期生招募活动。
* 5月16日,Twitter账号开通。
* 5月25日,YouTube账号开通。
* 5月31日,发布首条推文。
* 6月1日,夏色祭正式开始活动,同日晚23时(日本时间6月2日0时)进行首次直播。
* 7月上旬,收益化通过。<!-- 5日的直播没有SC,11日的直播有SC,但是第一次收益化通过夏哥没发推,估计具体时间是找不到了 -->
* 11月2日,新服装发布。
}}
2018年
5月
  • 2日,hololive開始一期生招募活動。
  • 16日,Twitter帳號開通。
  • 25日,YouTube帳號開通。
  • 31日,發布首條推文。
6月
  • 1日,夏色祭正式開始活動,同日晚23時(日本時間6月2日0時)進行首次直播。
7月
  • 上旬,收益化通過。
11月
  • 2日,新服裝發布。

整理參數

內部參數整理

{{subst:时间线|sortargs=once|
(内容)
}}

整理後得到

{{时间线|
(整理后内容)
}}

用作工具

使用subst代碼自動調整時間線。並不會留下代碼痕跡。

{{subst:时间线|
(内容)
}}

可能時間線已經被應用於一種模板(比如這個本身),但是參數的順序錯亂即使不一定有影響,也令人強迫症。那麼可以使用以下代碼。

{{subst:时间线|句段连接符={{!}}|
(内容)
}}

得到排序後的參數組。根據情況調整參數。

輔助模板

Template:擴展時間線

上述文檔內容嵌入自Template:時間線底層代碼/doc編輯 | 歷史
編者可以在本模板的沙盒創建 | 鏡像和測試樣例創建頁面進行實驗。
請將模板自身所屬的分類添加在文檔中。本模板的子頁面