[η]ToodledoからTodoistへのタスク移行手順~その4~

20150601_toodledo_to_todoist_1

前回は、ToodledoのタスクをTodoistへ取り込みやすい順番に並び替えました。

今回は並び替えたデータをTodoistにインポートできるプログラム文法を変換します。

5. Todoistインポートデータのプログラム文法に変換する

サクラエディタを用意する

Todoistのプログラム文法に変換するために、プログラムコード用のエディタ、サクラエディタをダウンロードします。

下記サイトから最新版をダウンロードしましょう。

サクラエディタ Download


サクラエディタにToodledoデータを取り込む

サクラエディタにToodledoデータを取り込みます。

▼Toodledoデータを「テキスト(タブ区切り)」形式で保存します。

20150608_toodledo_to_todoist-1-

▼こういう表示が出てきますが、すべてOKで問題ありません。

20150608_toodledo_to_todoist-2-

20150608_toodledo_to_todoist-3

▼サクラエディタを起動し、保存したテキストをドラッグアンドドロップで開きます。

20150608_toodledo_to_todoist-4

1行目は属性名(title2やtag)なので削除しておきましょう。

改行形式を変換する

ここが今回のキモのひとつです。

▼取り込んだ状態だと改行がカギ矢印になっています。

20150608_toodledo_to_todoist-5

この状態だとTodoistにインポートできません。

▼そこで、名前を付けて保存の画面で

20150608_toodledo_to_todoist-6

▼改行コードを「LF(UNIX)」にして保存し直します。

20150608_toodledo_to_todoist-7

▼すると改行が下矢印になります。

20150608_toodledo_to_todoist-8

こうすることにより、1改行1タスクとしてTodoistに認識され、インポートが可能になります。

ノート周りを変換をする

改行コードをLFにして、タスクをTodoistに読み込めるようにしましたが、ノートがタスクと同じ行にある今の状態では、ノートがノートの中に配置されず、タスクとして配置されてしまいます。

そこで、サクラエディタの置換を使って、ノートがノートとして認識されるようにしていきます。

ノート前の”を削除する

複数行のノートは、Toodledoからのエクスポート時に「”」で囲まれます。

インポートするときに邪魔になるので、「”」を削除します。

ノートの後ろの「”」は後で使うので、ノートの前の「”」をまず消します。

▼ツールバー上にある「置換」をクリックします。

20150608_toodledo_to_todoist-9

▼置換前を「”[[NOTE]]」にし、置換後を「[[NOTE]]」にし、すべて置換することにより、ノート前の「”」を削除できます。

20150608_toodledo_to_todoist-10

ノートの前に改行を挿入する

ノートをノートとして認識させるために、ノートの前に改行を入れます。

▼どこか適当なノートの前で改行し、改行~[[NOTE]]までコピーします。

20150608_toodledo_to_todoist-11

コピーした後は、改行を削除し、元に戻しておきます。

▼置換メニューの置換前に「[[NOTE]]」を入れ、「クリップボードから貼り付ける」にチェックを入れ、すべて置換します。

20150608_toodledo_to_todoist-12

▼すると、すべてのノート前に改行が入ります。

20150608_toodledo_to_todoist-13

ノート内の改行をタブに変換する

ノート内での改行は、Todoistのブログラム文法ではタブになります。

よって、ひと手間かけて、ノート内の改行をタブに変換します。

通常の改行とノート内の改行、複数行ノートと通常タスクの間の改行を切り分ける

▼通常の改行の場合、改行の前に必ずタブがあります。

20150608_toodledo_to_todoist-14

▼ノート内の改行の場合、直前にタブはなく、改行のみとなります。

20150608_toodledo_to_todoist-15

▼複数ノートと通常タスクの間の改行の場合、直前に先ほど残しておいた「”」があります。

20150608_toodledo_to_todoist-41

この違いを利用します。

▼まず、置換メニューの「正規表現」にチェックを入れ、置換前に「\t\n」を入れ、置換後にノート内で決して使っていないであろう語句を適当に入れ、すべて置換します。

20150608_toodledo_to_todoist-17

これで、通常の改行を文字列に変換できました。

(「\t\n」は「タブ改行」の正規表現です。
詳しく知りたい方は以下のリンクを参照下さい。

利用可能な正規表現

▼続けて、「”\n」も適当な語句に置換します。

20150608_toodledo_to_todoist-44

これで、複数行ノートと通常タスクの間の改行を文字列に変換できました。

次に、ノート内の改行をタブに変換します。

▼置換前に「\n」、置換後に「\t」を入れて、すべて置換します。

20150608_toodledo_to_todoist-20

最後に文字列に変換していた通常の改行と複数行ノートと通常タスクの間の改行を元に戻します。

▼置換前に変換した文字列、置換後に「\n」を入れてすべて置換します。

20150608_toodledo_to_todoist-21

▼これで、通常の改行は改行のまま、ノート内の改行はタブに変換されました。

20150608_toodledo_to_todoist-22

ここで非常に残念なお知らせがあります。

この方法では、ノートが一行の場合が切り分けられず、ノートと次のタスクがタブで繋がり、次のタスクがノート内に格納されてしまいます。

▼ノートが1行の場合、改行の前に何も入らないので、ノート内改行との区別が付かない。

20150608_toodledo_to_todoist-37

▼結果、処理がノート内の改行と同じになってしまいます。

20150608_toodledo_to_todoist-38

▼なので、[Ctrl]+[F]で検索を呼び出して、「[[NOTE]]」の該当行をマークして、

20150608_toodledo_to_todoist-39

▼目視確認し、一行の場合、手作業で改行を入れていきましょう。

20150608_toodledo_to_todoist-40

まとめ

今回で、並び替えたデータをTodoistにインポートできるように、プログラム文法を変換しました。

次回は、いよいよTodoistにデータをインポートします。



全5回へのリンクを以下のページにまとめました。
よろしければ、ご活用ください。

[η]ToodledoからTodoistへのタスク移行手順~まとめ~ | ハックの哲学



以上、「ハックの哲学」のイド♂(@idomars)がお送りしました。


役に立つと思われたらシェアをお願いします。
また、何かご質問があれば、Twitterで喜んでお答えします♪

フォロー&定期購読いただくと、わたしのやる気が100倍になります!