Org-mode实现的看板系统
Table of Contents
看板可以可视化你的工作从而帮助你完成工作的事情. 你将你的工作组织成待完成的任务,(每项任务用一张卡片表示),然后用一块板展示各卡片的状态. 看板系统鼓励你在开始新工作之前先完成已有的工作.
Emacs Org-mode就能用来创建一个随身携带的快速而易用的看板.
Org-mode已经内建于Emacs / Spacemacs,因此你无需安装任何package或layers.
1 Designing a kanban board
看板中的列展示了某项工作处于工作流中的什么状态. 一般可以分成三个状态todo, doing, done workflow. 当然你也可以自定义自己的工作流状态.
我使用看板系统有一阵子了,我现在将工作流分成5个阶段: planning, in progress, blocked, review, done
- planning - 待组织的工作.
- in progress - 正在作的工作. 我尽可能的减少同时进行的工作以便能够快速的完成手头上的事情.
- blocked - 已经开始作的工作,但由于某些原因目前无法完成.
- review - 已经完成的工作. 但需要检查是否还有后续任务或需要总结.
- done - 任务已经彻底结束了,可以放松一下了.
2 Creating Org-mode stages
在Org-mode中创建自定义的工作流状态很简单. 你可以参见我之前写过的这篇文章:Configuring Emacs Org-Mode to Managing Your Tasks
3 Create an Org-mode file
运行 M-x find-files
然后输入以 .org
为后缀的新文件名就能创建一个新org-mode文件了. 用Emacs打开任何后缀名 .org
的文件会自动进入Org-mode.
我用一个名为 kanban.org
的文件作为我的看板.
Spacemacs | Emacs |
---|---|
SPC f f | C-x C-f |
M-x spacemacs/helm-find-files | M-x find-files |
4 Create a kanban board
假设你创建了一个名为 kanban.org
的文件. 你需要编辑该文件并创建一个表格来代表看板.
你可以通过输入 |
的方式手工创建表格结构,也可以用 M-x org-table-create
然后输入行列数的方式插入表格. 例如,要创建一个5列3行的表格,你需要输入 5x3
.
在表格的第一行输入看板的名称. 如果你不是用 M-x org-table-create
创建的表格,那么还需要用 M-x org-table-insert-hline
创建表头.
我的看板看起来是这样的
5 Adding tasks to the kanban board
看板上的每条记录都代表着一项工作. 同时我们可以使用Org-mode的内部链接来实现从看板跳转到具体的任务. 要创建一个与任务同名的链接,只需要把名字用两个中括号括起来就行了,像这样 [[]]
.
6 Moving the tasks across the board
要将任务在列之间移动很简单,只需要按下 Alt - <arrow-keys>
就行. 然而,只是简单的移动任务并不能更新任务对应的状态. 好在每个任务就是一个链接,我们可以点击这个链接跳转到任务定义的地方,然后根据看板中的状态修改任务的状态.
但这样子还是太麻烦了,要是能够实现看板上移动任务的同时也会自动更新对应任务状态,更新任务状态也会同时移动看板上任务到对应列就好了.
7 El Kanban - updating the board from task stage changes
我找到了一个名为El Kanban 的package,它会根据任务的状态自动更新看板. 该pacakge使用Org-mode表格的格式化指令来更新看板.
我安装了一下这个package,发现它确实会根据我自定义的状态集合更新看板的表头,但是它却无法根据任务的状态来更新看板中的状态. 看起来我要么需要修复这个package的问题还么需要寻找别的解决方案.
欢迎留言.
8 References
- Configuring Emacs Org-mode to manage your tasks
- Emacs Org-mode Kanban pomodoro… oh my… - Posted on August 8, 2011 by Bryan Morris
- El Kanban - an org-mode table that updates based on task stages