将taskwarrior导出转换为graphviz格式并分析项目
task2dot的Python项目详细描述
任务2Dot
此程序有助于创建todo的可视化效果 列表。它是taskwarrior和{a2}之间的一个简单过滤器。在
代码现在位于https://pypi.org上,可以通过
python3 -m pip install task2dot
如果您更喜欢使用已安装的软件,而不是解释源代码。 否则,将通过python3 task2dot/task2执行点.py. 在
使用
在命令行写入
^{pr2}$这样,您所创建的所有待办事项都将被输入
task2dot
。没有任何参数,它只是转换导出
转换为适合于输出被保存的graphviz
的格式
{cd3>文件中。我们可以预期这会导致一场疯狂的
混乱的网络图形。在
为了清楚起见,我将不显示dot命令和输出 重定向到以下任何代码段中的文件。注意 为了获得有用的可视化效果,必须添加这些元素。在
从taskwarrior
导出数据时,必须明确声明
它只想导出挂起的任务:
task status:pending export | task2dot
请参见工作示例:
什么是节点和边
任务、标记和项目是节点,也是用户定义的属性!
如果任务属性是用户定义的,则支持该文件
~/.taskrc
或可以在环境变量$TASKRC
中找到。在
边是任务依赖关系以及从任务到其项目的所有连接, 它们的所有标记以及用户定义属性的值。在
请注意,如果所有节点及其所有连接都显示在具有 一个足够多的任务,结果图将变得非常混乱。 因此,可以使用以下排除机制。在
节点和边缘排除
节点排除
排除特定节点写入
task status:pending export | task2dot -node
那么输出中就不会有内容为“node”的节点 图表。在
为什么这个有用呢?如果您试图实现Kanban或其他什么
类似的你很可能有一个特定的标签或用户
定义的属性,比如todo
太频繁了,无法在
图形可视化。几乎所有的任务都将通过
边缘,这是没用的。另外,如果导出taskwarrior数据,
使用特定的tag
进行过滤将导致
图形与该标记有很多连接。所以下面
可视化将很有用:
task status:pending +work | task2dot -work
节点类型和边缘排除
使用两个连字符可以排除特定类型的节点。为 例如,不显示任何项目节点如下所示:
task status:pending export | task2dot --project
或不显示任何标签:
task status:pending export | task2dot --tags
在我的工作流程中,路径和电子邮件ID都附加到任务中,所以我 需要写吗
task export | task2dot --path --email
也可以使用 双连字符。让我们去掉从任务到 标签:
task export | task2dot --task-tags
更多的联系:超越下一个邻居
可以添加比taskwarrior更多的边 直接出口。例如,可以在项目之间添加边 和标记,因为它们由同时具有这两个属性的任务连接。如果有一个 然后删除任务,我们可以查看一个图表,显示哪些任务 如果标记代表 “行动”。与边缘排除类似,我们使用++node1-node2添加 附加边缘。在
task export | task2dot ++tags-project --task
配色方案配置
要根据需要调整颜色,您需要提供一个文件
~/.task2dotrc.json
在您的主目录中。它包含一个json字符串
格式如下:
{"nodes":{"tags":{"shape":"egg","fillcolor":"#000000","penwidth":"2pt","style":"filled","fontcolor":"white","color":"white"},"outcome":{"shape":"egg","fillcolor":"#000000","penwidth":"2pt","style":"filled","fontcolor":"white","color":"white"},"people":{"shape":"octagon","style":"filled","fillcolor":"#dd9900","color":"white"},"project":{"shape":"diamond","penwidth":"2pt","color":"#22ff22","fontcolor":"#ffffff","style":"filled","fillcolor":"#115500"},"task":{"shape":"box","color":"white","fontcolor":"white","style":"rounded,filled","fillcolor":"#222299","fontsize":"16"},"default":{"shape":"box","color":"white","fontcolor":"white","style":"rounded,filled","fillcolor":"#222299","fontsize":"16"},"annotation":{"shape":"note","color":"white","fontcolor":"white","style":"filled","fillcolor":"#111155"},"state":{"shape":"circle","color":"white","fontcolor":"white"}},"edges":{"default":{"color":"white"},"task-tags":{"color":"white","style":"dotted","penwidth":"5pt","arrowsize":"0.1"},"project-project":{"color":"#22ff22","penwidth":"2pt","arrowhead":"odot","arrowtail":"odot"},"task-project":{"color":"#aa2211"}},"graph":{"layout":"fdp","splines":"ortho","size":"30,30","bgcolor":"#111519"}}
配置中设置的参数直接对应于 graphviz(请参见graphviz)可用于节点、边和整个图形的设置。这个 此处显示的示例配置对应于用于 本自述文件中引用的示例图形。在
如果要为自己的用户定义属性提供颜色设置,只是
将属性名添加到nodes
属性中,并提供与default
配置不同的参数。在
- 项目
标签: