将taskwarrior中已启动任务添加到jrnl的钩子
taskwarrior-jrnl-hook的Python项目详细描述
任务战士钩子
taskwarrior允许对任务进行注释,但我发现它不如使用jrnl那样实用。这个钩子把这两个伟大的工具结合在一起。
这个脚本的灵感来自taskwarrior-time-tracking-hook
本金
启动任务将自动将其描述传递给JRNL。如果启动的任务有标记,它们将被添加到标题中,并在jrnl中使用相应的符号(默认情况下,jrnl标记用“@”标记)。
$ task list ID Tags Due Description 1 administration perso 2018-09-21 Pay electricity bill $ task 1 start
该操作将调用钩子并将jrnl作为子进程运行。
jrnl "Pay electricity bill @administration @perso"
现在,如果您查看jrnl,您应该会看到任务描述添加为标题,并带有来自taskwarrior的标记。
jrnl -1
2018-09-21 9h35 Pay electricity bill @administration @perso
安装
pip install taskwarrior_jrnl_hook
然后将钩子添加到.task/hook文件夹
mkdir -p ~/.task/hooks ln -s ~/.local/bin/taskwarrior_jrnl_hook ~/.task/hooks/on-modify.jrnl
配置
默认情况下,此钩子将在~/.taskrc配置文件中查找配置信息。如果要更改taskwarrior配置文件中的hook行为put options项,则在钩子中内置默认选项。
选项:
JRNL名称
Name | Default | Description |
---|---|---|
^{ | default | jnrl name to call |
如果指定,则此挂钩将使用配置中定义的JRNL名称,否则将使用default
作为JRNL名称。
就我个人而言,我为每个月写一个日志,所以我添加了一个选项,从started task中获取月份名称,并将其用作jrnl名称。
Name | Default | Description |
---|---|---|
^{ | False | Use month as jrnl name |
^{ | en | month's language to output |
如果设置为True
,hook脚本将调用给定月份的jrnl。您可以指定语言以获得当月正确的拼写。月是用所有字母写的,没有大写。
JRNL配置
Name | Default | Description |
---|---|---|
^{ | ^{ | Path to your jrnl configuration |
为了使用JRNL中使用的正确标记符号,脚本需要读取JRNL的配置。
标签
Name | Default | Description |
---|---|---|
^{ | True | Add tags to jrnl |
此选项允许您将taskwarrior标记添加到jrnl的标题中。
项目
Name | Default | Description |
---|---|---|
^{ | True | Add project to jrnl |
此选项在正文中的标题下添加项目名称。
过滤器
Name | Default | Description |
---|---|---|
^{ | None | Tasks to be excluded by tags |
此选项允许您排除不希望在jrnl中看到的按标记的任务。