将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项,则在钩子中内置默认选项。

选项:

  1. jrnl name
  2. jrnl configuration
  3. tags
  4. project
  5. filter

JRNL名称

NameDefaultDescription
^{}defaultjnrl name to call

如果指定,则此挂钩将使用配置中定义的JRNL名称,否则将使用default作为JRNL名称。

就我个人而言,我为每个月写一个日志,所以我添加了一个选项,从started task中获取月份名称,并将其用作jrnl名称。

NameDefaultDescription
^{}FalseUse month as jrnl name
^{}enmonth's language to output

如果设置为True,hook脚本将调用给定月份的jrnl。您可以指定语言以获得当月正确的拼写。月是用所有字母写的,没有大写。

JRNL配置

NameDefaultDescription
^{}^{}Path to your jrnl configuration

为了使用JRNL中使用的正确标记符号,脚本需要读取JRNL的配置。

标签

NameDefaultDescription
^{}TrueAdd tags to jrnl

此选项允许您将taskwarrior标记添加到jrnl的标题中。

项目

NameDefaultDescription
^{}TrueAdd project to jrnl

此选项在正文中的标题下添加项目名称。

过滤器

NameDefaultDescription
^{}NoneTasks to be excluded by tags

此选项允许您排除不希望在jrnl中看到的按标记的任务。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Apache Flink外部Jar   创建和强制转换对象数组时发生java错误   Java,添加数组   具有相同包结构和类的java JAR   java Jenkins未能构建Maven项目   java为什么一个forloop比另一个更快,尽管它们做的“一样”?   servlets在将“/”站点迁移到Java EE包时处理contextpath引用   无法解析java MavReplugin:2.21或其某个依赖项   泛型如何编写比较器来泛化Java中的两种类型的对象?   java Android Emulator未在netbeans上加载   多线程Java使用线程对数组中的数字求和:在同步块中使用新变量作为锁:差异   java如何在JSP/servlet中设置<input>标记的值?