メモソフトをGoogle KeepからLogseqに移行した

nogajun
nogajun

アカウントを集約してサイトに集めていますが、メモのほうもなんとなく使っていたGoogle KeepをやめてLogseqに移行しました。メモデータの同期にはSyncthingを使っています。その移行についてメモしておきます。

メモデータの移行

Google Keepのデータは、Google Takeoutというエクスポートするサービスがあるので、そこからダウンロードできます。

インポートに関しては、当初、keep2logというMarkdownに書き出すツールがあったので、これを使うつもりでした。 しかし、試したところ自分が思っているような出力ではなかったので、PythonでLogseq用Markdownに書き出すツールを書きました。それが、keep2logseq.pyです。

需要はまったくないと思いますが、Duck NoteというWebアプリも少しだけ使っていたので、これのjsonデータから移行するduck2logseq.pyもあります。

プログラム自体は単純でGoogle Keepのjsonデータから必要な部分を抜き出して、Logseqが使ってる先頭にブロックを示すマーカーを付けたMarkdownとして出力するだけです。単純なツールですが、既存のツールを使わずにプログラムを書くことになったのには理由があります。

書式がネックになった

1つ目は、Google Keepに書式が無いので自由に書いていたら、それがインポートのネックになりました。

今は簡単な書式が使えますが、Google Keepが始まった当初、Windowsのメモ帳みたいにテキストしか書けませんでした。そういうこともあり、メモはMarkdownで書いたり、テキストのまま書いたり、昔のtDiary用のHiki記法で書いていたり、いろんな記法を使って書いていました。

最初に見つけたツールを使うと、(動きとしては当然のことですが)これらのメモをご丁寧に1行づつLogseq用のマーカーを付けて出力します。その結果、Logseqで開くと使っている記法を書式として解釈して書式がガタガタになって修復不可能なメモが多数発生するという結果になりました。

そういうこともあって、どうしようかと思いましたが、いくつか方法を試して最終的に下のような形でメモを全体をテキストのコードブロックとして出力するようにしました。

- ```text
    この部分にメモが入ります
  ```

こうするとLogseq上ではプレーンテキストと解釈されるのでメモが崩れなくなります。あとは、個別に確認して必要なものだけコードブロックのフェンスを外せば崩れることなく持ってくることができました。

インポートしたメモの時間情報が反映されない

2つ目の理由は、インポートしたメモの時間情報が反映されないことです。

メモは積み重ねなので時間が重要ですが、Logseqは時間情報をインポートできません。ツールを使うと日誌としてインポートするので、ページとしてインポートしよう思っていました。しかし、調べてみると「時間のインポートができない」という声しかなく何かがおかしな様子。

結局、GitHubのIssueを調べてわかりましたが、メモを管理するデータベースが時間のインポートをサポートしていないことが判明したので、あきらめて日誌としてインポートしています。そして、大きなメモは、LogseqのBlock to Pageプラグインを使って別途ページとして書き出すようにしました。

ということで、すぐに終わるかと思っていた移行作業がPythonスクリプトまで書くハメになりましたが、なんとか移行できました。

メモデータの同期

Obsidianなど最近流行りのメモソフトは、Markdownファイルとして保存する代わりに何らかの方法でメモのファイルを同期する手段を用意する必要があります。自分は、もともとデスクトップとノートPCのファイル同期にSyncthing使っていたので、これをそのまま使うことにしました。

Syncthingは、Dropboxやほかのファイル共有サービスと違って中央のサーバーがありません。それぞれのマシン同士が通信してフォルダーを同期します。なので、ファイルはマシンが通信できるネットワークにいなければ同期されません。

しかし、自分1人が使う場面を考えると、家で同期しておいて持ち出し。出先で書いたものは家に帰ってきてから同期する。それで支障がないと気がついてしまったのでSyngthingで十分と判断しました。

SyncthingをPCとスマートフォンを混在して使う場合の注意ですが、PCで使っている同期フォルダーを使ってはいけません。Logseqのグラフを保存しているフォルダーを分けて用意してそのフォルダーだけ同期してください。

最初、「PCで使っているフォルダーを使えばいいやろ」と思って適当にスマートフォンを追加しましたが、そうすると、みるみるスマートフォンのストレージが消費されていき、大きなファイルの転送ではSyncthing自体が止まってしまい散々な目にあったので、スマートフォンとPCを同期させるときは専用フォルダー作って同期しましょう。

使ってみてどうなのか

正月あたりに移行して1週間ぐらい経ちましたが、わりといい感じです。同期もうまくできてます。しばらく、これで使ってみようかと思います。