1 个不稳定版本
0.1.0 | 2024年5月3日 |
---|
1771 在 命令行工具
66KB
1K SLoC
idid
idid 是一款用于跟踪各种任务或成就耗时的时间管理命令行工具。它允许用户以简单、结构化的格式记录、编辑和查看他们的活动。
目录
安装
$ cargo install idid
待办事项:添加包管理器支持。有兴趣的人吗?
从仓库构建
要构建 idid,请按照以下步骤操作
克隆仓库
$ git clone https://github.com/jidn/idid-rust.git
导航到项目目录
$ cd idid-rust
构建项目
$ cargo build --release
可选地,将可执行文件添加到您的 PATH
$ export PATH="$PATH:/path/to/idid-rust/target/release/"
快速开始
idid
围绕记录您刚刚完成的事情的理念。当您记录成就时,持续时间会从您的上一条记录中计算出来。因此,您一天中的第一个成就是开始。如果您需要更改时间、插入条目或编辑条目,只需编辑 TSV 文件,所有内容都会相应调整。
开始您的一天
您一天中的第一个成就是启动 idid
记录当天的活动。
$ idid start
Starting at 07:55 AM. All right!
哇,很好的反馈。如果您不需要响应,只需使用 --quiet
标志。
更改开始时间很容易。只需给出过去的分钟数或时间。例如,当我进来时,Tim 在大厅里停下我,花大约 10 分钟讨论一项内容,现在是上午 8:05。
$ idid start -t 10
Starting at 07:55 AM. Keep it up.
$ idid start -t 7:55
Starting at 07:55 AM. Sensational.
额外成就
当您完成一项任务、里程碑或值得注意的项目时,记录您所做的事情。
$idid add cleared inbox
Mon 08:20 AM for 00:25 Well done!
很好。我看到记录了时间,持续时间为 HH:MM 格式,还有一些积极的反馈。
稍后,您忘记记录 10 分钟前在 9:50 修复问题的内容。要更改时间,使用 -t
选项并指定分钟数或时间。
$ idid add -t 10 fixed issue #42
Mon 09:50 AM for 01:30 Well done!
或
$ idid add -t 9:50 fixed issue #42
Mon 09:50 01:30 Well done!
记住您正在使用 shell 输入,所以一些字符可能会引起问题。最常见的问题是单引号、分号和与号。您必须引用它们或使用自然语言。
非连续的:午餐和长时间休息
午餐或延长休息可能不是你想跟踪的事情。出于某种原因,我要向其汇报的人不希望包括这段时间。在离开前添加一条关于你到目前为止所做事情的记录,使用 idid add 'project poodles work-in-progress (WIP)'
或类似的内容。回来后现在使用 idid start
。
编辑你的历史记录
idid
通过允许你使用你喜欢的文本编辑器来修改,使得更改历史变得容易。如果你像我一样,vi 系列编辑器是你的朋友,下面的操作将在你的编辑器中打开 TSV 文件,并将你放置在底部或最新条目。
$ idid edit
如果你使用的是其他文本编辑器。文件通常位于 $XDG_DATA_HOME/idid/idid.tsv
或 ~/.local/share/idid/idid.tsv
。
现在你可以进行更改。
- 删除重复条目。
- 添加你忘记的成就。
- 纠正错别字。
注意事项。
- TSV 必须按时间顺序排列。持续时间取决于它。
- 不允许空白行和注释。
- 不要更改起始文本。
展示你的日常
展示你今天的成就列表将很棒。
$ idid show today
是的,我知道日期看起来有点奇怪。它是(RFC 3339)[http://tools.ietf.org/html/rfc3339] 中指定的格式。虽然“可读性”可能存在争议,但它有几个优点,例如在排序时保持时间顺序,定义严格,并且有共同的库支持。
你可以提供任意数量的 **DATE
** 或使用 --range
与两个日期一起使用以获取该范围内的所有条目。
日期格式
单词 today
是一个特殊的 DATE
,同样 yesterday
也是。你也可以使用过去的天数,例如 idid show 0
与 idid show today
相同。虽然将 DATE
作为数字使用可能会有点困难,但任何小于一千的数字都是有效的。
一个更简单的格式是两位数的月份和日期,例如 MM-DD
或 MMDD
;分隔符是可选的。只要日期在过去 264 天左右,你就不需要指定年份。当需要年份时,使用 YY-MM-DD
或 YYYY-MM-DD
将给出确切的日期。
你也可以使用缩写的星期几(DOW),例如 'mon'、'tue'、...、'sun'。只需记住,如果今天是星期一,那么 'mon' 是上周一而不是今天。如果你想添加额外的星期,则在 DOW 后附加一个数字。上周一的星期一是 mon1
。
如果今天是 2024 年 4 月 1 日星期一,那么 2024 年 3 月 31 日星期日可以用以下任何一种方式表示
- 昨天
- 1
- 03-31 或 0331
- 2024-03-31
- sun
我知道。这似乎有点过分。但是我在用它们,所以使用最适合您需求的那一个。如果您需要快速提醒,请执行 idid show --help
。长格式 --help
显示了许多日期格式。
使用
idid 工具为管理您的成就提供了几个命令和选项。以下是一个简要概述
命令
- add:添加新的成就。
- edit:使用您的默认编辑器编辑 TSV(制表符分隔值)文件。
- last:查看从今天最后一条记录以来的时长或显示 TSV 文件中的特定行数。
- start:开始记录当天的时长。
- show:显示所有已记录的成就。
- sum:按天总结成就。
选项
--tsv <FILE>
:指定自定义的 TSV 文件而不是默认位置。-h, --help
:显示帮助信息。-V, --version
:显示 idid 的版本。
有关详细使用说明和示例,请运行 idid --help
或 idid <command> --help
。
贡献
欢迎为 idid-rust 做贡献!如果您想贡献,请按照以下步骤操作
- 分支仓库。
- 创建您的功能分支(
git checkout -b feature/my-feature
)。 - 提交您的更改(
git commit -am 'Add new feature'
)。 - 将更改推送到分支(
git push origin feature/my-feature
)。 - 创建新的拉取请求。
许可证
idid
在 MIT 许可证的条款下分发。
依赖项
~6–16MB
~215K SLoC