1个不稳定发布版
使用旧的Rust 2015
0.3.0 | 2017年8月25日 |
---|
#66 in #imag
200KB
3.5K SLoC
libimagtimetrack
用于在imag存储中跟踪时间事件的库。
存储格式
事件以存储ID存储,如下所示
/timetrack/<insert-date-year>/<insert-date-month>/<insert-date-day>/<insert-date-time>-<tag>.ext
时间跟踪包含
- 一条注释(可选,自由文本)
- 开始日期
- 结束日期
- 一个标签
默认情况下,并且可以扩展更多标题字段,如所愿。
时间跟踪“工作”条目的头部看起来像这样
[event]
tag = "work"
start = "2017-01-02T03:04:05"
end = "2017-01-02T06:07:08"
正常标签(如在libimagentrytag
中)明确地不用于标记,因此用户可以将正常标签也用于这些条目。
tag
字段是字符串类型,因为一个标签创建一个条目。这样,可以跟踪重叠的标签,如下所示
imag timetrack start foo
imag timetrack start bar
imag timetrack stop foo
imag timetrack start baz
imag timetrack stop bar
imag timetrack stop baz
end
字段当然仅在事件已结束时设置。
库功能
该库使用libimagentrydatetime::datepath::DatePathBuilder
构建StoreId
对象。
该库提供两个核心特性
TimeTrackStore
,它扩展了Store
对象,以创建用于时间跟踪的特定设置的FileLockEntry
对象,以及TimeTracking
,它扩展了Entry
,并提供了查询用于时间跟踪功能的条目元数据的辅助函数
该库不提供实现imag-timetrack
等的功能,因为核心功能已经给出,命令行应用程序可以在几行代码中实现缺失的部分。
可能在未来某个时间点提供聚合功能。
依赖关系
~14MB
~306K SLoC