#时间跟踪 #命令行 #CLI

应用程序 dlog

一个高效的命令行工具,用于跟踪您的时间花费

3 个版本

0.1.2 2021 年 4 月 23 日
0.1.1 2021 年 1 月 14 日
0.1.0 2020 年 12 月 18 日

#39 in #时间跟踪

自定义许可协议

61KB
1.5K SLoC

dlog

反转命令行时间跟踪。

不是另一个时间跟踪应用程序!

是的,又一个时间跟踪应用程序。喜乐吧,因为您所有的跟踪需求都将最终得到满足。

这有什么不同呢?

心态和核心概念。在大多数时间跟踪应用程序中,您需要在开始跟踪活动或项目时指定它们。换句话说:您需要在做之前就知道您将做什么。

在 dlog 中,您不需要在停止条目之前指定活动或项目。因此,一般的流程如下所示

dlog start  # starts a new incomplete time entry
dlog fill shower  # after you're done showering
dlog fill breakfast:toast  # "breakfast" is the activity, "toast" is the project
dlog fill workout -m "Good workout today."
dlog fill checking emails
dlog fill coding:dlog +rust +tests  # "rust" and "tests" are tags
# Oops! I took a break but forgot to track it!
dlog fill reddit --to "10 minutes ago"
dlog fill ...

这种工作流程我个人觉得更适合我,但如果您更喜欢在停止而不是开始时指定您正在做什么,我推荐 watson

特性

  • "反转"时间跟踪(在停止跟踪时指定活动,而不是开始时)
  • 打印所有过去时间条目的表格历史记录(dlog log
  • 打印一个(可选过滤的)摘要,显示您在给定时间段内花费时间的总结报告(dlog summary
  • 即使在处理数万条时间条目时,性能也非常快

如果您想请求新功能或改进,请随时提出问题!

安装

如果您已安装 Rust,则安装 dlog 最简单且推荐的方法是通过

cargo install dlog

如果您没有安装 Rust,您可以在 发布 部分下找到最新版本的 Debian 二进制文件。对于任何其他平台,您目前需要安装 Rust 并使用上述命令安装 dlog。

注意:如果您对 Rust 二进制文件的交叉编译包有经验,我将非常感激您提供的任何帮助,以在其他系统上设置可安装的二进制文件。

条目结构

条目存储在 CSV 中(通过设置环境变量 DLOG_PATH 指定自定义目录)并具有以下结构

timestamp_start, timestamp_end, activity, project, tags, message

活动是每次条目的基本组件,使其成为使用 dlog fill 时的唯一必需参数。如果你通常从项目和活动角度思考,可能有助于你为一系列项目想出最通用的活动。例如,对于所有与工作相关的项目,可以将“工作”作为一个活动。这允许你有效地分组一系列条目,这在 dlog summary 中的过滤很有用。

依赖关系

~4-15MB
~136K SLoC