文章目录
- 简介
- 时间格式
- 事件格式
简介
MarkWhen是一款文本转时间轴的工具,非常好用,也十分炫酷。可在VS Code中搜索插件MarkWhen
,点击安装,然后新建一个.mw
后缀的文件,就可以使用了,下面举一个简单的例子
#Holiday:blue
2023-09-10 : 周日 #Holiday
9/17/2023 : 周日 #Holiday
2023-09-24T00:00:00Z : 周日 #Holiday
Oct 1 - Oct 8 : 十一假期 #Holiday
Sep 10 : 教师节
效果如下
时间轴模式 | 日历模式 |
---|---|
时间格式
时间轴是由事件填充的,相应地,每个事件都对应一个时间段,其基本格式为
[DateRange\|EDTFDateRange]:[EventDescription]
即其时间段的格式有两类,分别是普通的日期范围,以及EDTF (Extended Date/Time Format, 扩展日期/时间格式) 日期范围。而提及范围,就要考虑对应范围的起点和终点,常见格式如下,不同案例用逗号隔开
格式 | 示例 | |
---|---|---|
EDTFDate | YYYY(-MM(-DD)?)? | 2000-06-01, 1892, 1492-01 |
HumanDate | [m/d/]yyyy | 2002, 01/2002, 12/25/1901 |
ISO8601 | YYYY-MM-DDTHH:MM:SS:MSZ | 1859-05-09T12:01:01Z |
CasualDate | (日)?(月)(日)?(年)(时间)? | 4 January 1996, Oct 8 2012 March 16 12:19pm, 9:15pm or 06:30 |
now | 表示今天 | now |
这几种时间的含义如下:
- HumanDate 默认为美国格式(月/日/年)
- ISO8601 需要用T和Z隔开
Casual date
,是比较随意的时间,其中月份可用英文名称,也可以用缩写,不区分大小写,标识如下
jan | feb | mar | apr | may | jun | jul | aug | sep | oct | nov | dec |
---|---|---|---|---|---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
知道了时间点的格式,那么时间范围只需把两个时间点连接起来就行了,其中EDTF时间段用/
连接,DateRange则用-
连接。
相对时间
此外,MarkWhen还支持相对时间,其基本格式为[after] [!eventId] Amount
,而Amount的格式为
[数字] [milliseconds|seconds|minutes|hours|days|weeks|months|years]
示例如下
after !Birthday 3 weeks 2 days, 2 days - 3 months 4 days 8 seconds, !ww1 21 years - 6 years
自定义格式
如果MarkWhen提供的时间格式无法满足要求,也可以自定义格式,示例如下
dateFormat: d/M/y
事件格式
一个事件可由四部分构成,即文本、标签、地点以及链接,其中链接可以显示图像,这四部分可以无限叠加
([text]|[Tag]|[Location]|[Link])*
一个完整的例子如下
07/2014: 4th of July in DC ![](imagelink.png) #Travel @sue @greg [Washington, DC](location)
其中文本没什么好说的,标签、地点和链接的格式如下
类别 | 格式 | |
---|---|---|
Tag | #标签 | |
Location | [地名](位置|地图) | |
Link | [文本](链接) | |
图片链接 | ![optional alt text](image link) | |
参考链接 | @[其他MarkWhen名] | |
注视 | //[text]|// |
其中,参考链接可以链接到其他MarkWhen名字。