本來在下用 Wunderlist 用的好好地,一時腦子被門夾了,想要用 OmniFocus(當然,目前是 Cracked 版本)。

但是 Wunderlist 裡面如此多的條目不方便逐一搬運。

於是想到用 applescript 來實現這個過程。

首先我們從 Wunderlist WebApp 匯出數據(JSON)。

進入 Wunderlist WebApp,點擊左上角的頭像,選擇“賬號設定”,可以看到“建立備份”選項。

然後,用 Node.js 取得 Task 列:

1
2
3
4
$ node
> var fs = require('fs');
> var file = '/path/to/your.json';
> fs.readFile(file, 'utf8', function (err, data) {data = JSON.parse(data);fs.writeFile(file, JSON.stringify(data.tasks));});

接著,藉助 JSON to CSV 將 JSON 轉換成 CSV。

下一步,你還需要用 Numbers 或 Excel for Mac 編輯它,將它變成下面的格式:

Task ID | Type | Task | Project | Context | Start Date | Due Date | Completion Date | Duration | Flagged | Notes

分別對應:

1
2
3
4
5
6
7
8
9
10
11
Task ID ﹣> 留空
Type ﹣> =IF(ISBLANK(D2),"Project","Action")
Task ﹣> title
Project ﹣> 如果當前條是子任務,則填寫主任務的title
Context ﹣> 留空
Start Date ﹣> created_at
Due Date ﹣> 留空
Completion Date ﹣> completed_at
Duration ﹣> 留空
Flagged ﹣> starred
Notes ﹣> 留空

P.S. Wunderlist 匯出的 Date 數據格式是 2014-04-27T01:57:45Z 的形式,請自行尋找工具轉換成 DD/MM/YYYY H:i:s 的格式。

最後,用下面的 AppleScript 匯入CSV 到 OmniFocus。

[download id=”3”]