EMACS-DOCUMENT

=============>集思广益

Org-mode实现的看板系统

看板可以可视化你的工作从而帮助你完成工作的事情. 你将你的工作组织成待完成的任务,(每项任务用一张卡片表示),然后用一块板展示各卡片的状态. 看板系统鼓励你在开始新工作之前先完成已有的工作.

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 创建表头.

我的看板看起来是这样的

Emacs Or

5 Adding tasks to the kanban board

看板上的每条记录都代表着一项工作. 同时我们可以使用Org-mode的内部链接来实现从看板跳转到具体的任务. 要创建一个与任务同名的链接,只需要把名字用两个中括号括起来就行了,像这样 [[]].

Emacs Or

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