时间线模板主要用于统一时间线,自动排列,辅助格式化。可以广泛的用在时间线书写、维护、格式化上。 调用模块:模糊时间对时间文本进行分析与格式化。
为简化输入,括号内是参数的简写模式。
排列参数
(sortargs
sort
):排序参数。设置为true
并配合subst排列参数并返回sortargs
参数为false
的本模板(强迫症必备),设置为once
则会去除sortargs
参数。在sortargs
参数为false
时模板不会工作,只识别句段分割符,句段连接符,并返回内容本身。句段分割符
(sentencesplit
ss
):分割文本,与分割为多个参数等效。默认为换行符\n
。不适用正则匹配。时间-文本分割符
(time-textsplit
tts
):时间与文本的分割符。隔开时间与事件描述。默认为,
(实际代码中上会被忽略)。时间标题符
(timeTitle
tt
):用作时间标题的符号,默认为=
。便于识别的小标题。被识别为标题的内容会保留标题格式。项目符号
(bullet
b
):用作前缀的符号。识别时将之删除。默认为\*
。\
为转义符。同时
,同日
,同年
,同秒
,同期
描述。句段连接符
(sentencecontext
sc
):填充到句段间的间隔符。默认为换行符\n
。时间格式-同时缩进
(indentsametime
ist
):默认开启,设置为false
关闭。指示同时事件将缩进到同一事件下。时间前符
(pretime
pt
):附加到时间前的文本。默认为空。时间后符
(aftertime
at
):附加到文本描述前时间后的文本。默认为,
。可以选择设定为全角空格,并把对齐长度设定为一个数值(如22),以达到另一种格式。时段前符
(prerange
pr
):附加到时间前的文本,在时间前符后。按时段的层级重复。默认为*,以产生不定序号缩进效果。时段后符
(afterrange
ar
):附加到文本描述后的文本,在文本后符前。按时段的层级重复。默认为空,可以配合时段前符附加样式。时间格式-省略
(timeformatcut
tfc
):省略格式。默认开启,设置为false
关闭。开启后将时间中的与上层相同的部分省略,并将同一时间的描述改为同时
,同日
等。标题层级
(titlelevel
tl
):若有值,则开启标题格式化。为时间线增加分标题,值为增添的层数。标题顶级层级
(titletop
ttp
):最顶级的标题层级。即重复的=
的次数。默认为3
。标题单位表
(titleunits
tus
):指示不同层级使用的格式单位,遵循{{模糊时间}}的格式化表。默认表为{%C,%T,%Y,%M,%D}
。标题单位
(titleunit
tu
):需要标题化的最高层级单位,即对应上表中第几位。默认为3
,对应%Y
。对应于单位年。对齐长度
(alignlength
al
):使用补充空格的方式将时间后面的文本对齐到同一开头,以起到类似制表符的效果。数值表示文本相对于开头的距离。默认为0
。由于空格宽度问题效果并不好,因此推荐使用{{扩展时间线}}的格式化。文本前符
(presentence
ps
):附加到文本描述前的文本。默认为空。文本后符
(aftersentence
as
):附加到文本描述后的文本。默认为空。(项目符号+)时间点(+时间段关键字+时间点)(+文本)
格式化后得到:
重复层级次数的时段前符+时间前符+时间+时间后符+对齐长度的空格+文本前符+文本+文本后符+重复层级次数的时段后符+
最简调用示例:{{时间线|text1|text2|text3}}
以下参数皆为乱序
代码 | 效果 |
---|---|
{{时间线 |2012年10月5日,ufo降临地球 2020年4月2日,神龙出世(识别了换行符) |1992年2月1日,地球毁灭了 |同年2月1日,月球毁灭了(省写年份) |2月1日,人类灭绝了(有没有前缀无所谓) |1990年到2020年,神秘纪元 |1911年到1989年,无事发生 }} |
|
由于默认参数的原因,这个模板可以直接加到现成的时间线(甚至是有所错误的)上使用
代码 | 效果 |
---|---|
{{时间线| *1911年到1989年,无事发生 *1990年到2020年,神秘纪元 **1992年2月1日,地球毁灭了 ***同日,月球毁灭了 **2020年4月2日,神龙出世(排序错误) **2012年10月5日,ufo降临地球 }} |
|
使用这样的模板结构:
{{时间线|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年
|
将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月
6月
7月
11月
|
内部参数整理
{{subst:时间线|sortargs=once| (内容) }}
整理后得到
{{时间线| (整理后内容) }}
使用subst代码自动调整时间线。并不会留下代码痕迹。
{{subst:时间线| (内容) }}
可能时间线已经被应用于一种模板(比如这个本身),但是参数的顺序错乱即使不一定有影响,也令人强迫症。那么可以使用以下代码。
{{subst:时间线|句段连接符={{!}}| (内容) }}
得到排序后的参数组。根据情况调整参数。