Published on

DynalistからLogseqへのデータ移行手順

Authors

はじめに

ノート用アプリに Dynalist を 2 年ほど使用していたのですが、ここ半年で Logseq に完全に移行しました。 アプリ切替の障壁となるデータ移行ですが、公式のデータ移行ツールは提供されていません。 そこで、どうやって Dynalist から Logseq にデータを移行したかを紹介します。

Logseq とは

Logseq を簡単に紹介すると、アウトライナー形式のメモツールです。 markdown で書くことができ、クロスデバイスで使用することができます。

タスク管理、日記、ノートといった様々なナレッジ管理に向いているツールです。

https://logseq.com/

データ移行前に補足

Dynalist のエクスポート機能について

Dynalist のエクスポート機能は HTML,PlainText, OPML フォーマットに対応しています。 https://help.dynalist.io/category/36-import-export

Logseq は markdown 形式なので、残念ながらエクスポート機能は使用できなさそうです。

Dynalist を markdown でエクスポートするには

GitHub にツールが公開されていました。 作者の方は Dynalist から Obsididan に移行するために作成されたようです。

https://github.com/mbirk/dynalist_to_markdown

markdown 化するという意味では同じなので、こちらを使います。

1. Dynalist からエクスポート

まずは Dynalist のデータを markdown 化していきます。 https://github.com/mbirk/dynalist_to_markdown を手順通り実行していきます

インストール

$ python3 -mvenv .venv
$ . .venv/bin/activate
$ pip install request
$ pip install pyyaml

pip install requests pyyaml がエラーになったので 1 つずつインストールしました。

pip install request pyyaml
ERROR: Could not find a version that satisfies the requirement request (from versions: none)
ERROR: No matching distribution found for request

設定

  1. Dynalist で Secret token を発行します https://dynalist.io/developer
  2. dynalist_to_markdown.yaml.example をコピーして dynalist_to_markdown.yaml を作成します
  3. api_key に secret token を設定します
api_key: "<YOUR API KEY HERE>"
  1. heading_depth を 1 に変更します
pages:
  - name: "*"
    heading_depth: 1
  - name: Links
    heading_depth: 1

※ Logseq では #ページタイトル がリンクになってしまうので、リンク化させないために変更しました

実行

$ python dynalist_to_markdown.py -h
$ python dynalist_to_markdown.py

dynalist ディレクトリが作られ、その中にすべてのページが markdown 化されました!

2. Logseq へインポート

Logseq のディレクトリは、以下になっています。

logseq
  ├ journals ※日誌。日毎にファイルが作られる
  └ pages ※ページ。ディレクトリも置ける

※ 私は Dynalist で 1 日毎にページを作っていなかったので、journals への移行は諦め、すべて pages に移行することにしました。

  1. とりあえず全てのページを pages ディレクトリに入れます
  2. インデックスの再構築をします
  3. エラーが発生すればに対処していきます
    • 異なるディレクトリでも同じファイル名は NG だったので、手動でリネーム

これで Logseq から移行後のページが扱えるようになりました!

ページ整理を始めてしまうと無限に時間が溶けそうだったので、必要になったら整理するという方針にして、今は蓋をしておこうと思います。

おわりに

終わってみれば、データ移行方法を探すのが一番大変で、移行作業自体は簡単でさっくり移行することができました。

移行ツール作成者への感謝と、同じくデータ移行を考えている方の参考になれば幸いです。