水たまりは希望を写している

Cosense (Scrapbox) から Obsidian に移行する方法【Private Project の画像もいっしょに】

「Cosense から Obsidian へ。プラス画像もインポート」というテキストと、背景に Obsidian のグラフビュー。

理由はともかく、Cosense (Scrapbox) から Obsidian に移行したいとする。シームレスに移行する方法を紹介する。

まずは Cosense からデータをダウンロード

Cosense の Project Settings から、Export Pages ボタンを押してプロジェクトのデータをダウンロードする。

移行に使用するツール

今回は hogashi/sb2md をフォークしてさらにフォークした yi7242/sb2md を使用して移行してみる。このフォークは後述する Private Project の画像ダウンロードにも対応している。

使用方法

使用方法はいたって簡単。Node.js が使用できる環境で作業する。コードをダウンロードして、npm installnpm run build してビルド。コードと同じフォルダにダウンロードした .json ファイルがある状態で、

node dist/index.js data.json

を実行する。すると処理が始まり、ちょっと待つと output フォルダに Markdown ファイルと画像が保存される。あとは Obsidian の保管庫があるフォルダにコピーするだけ

めっちゃどうでも良いけど、コピー中に Obsidian のグラフビューを開いていると、ヌルヌル動きながら追加されていくのでおもしろい。

Private Project の画像をダウンロードするには?

プライベートなプロジェクトでは、エクスポートすればテキストは移行できるものの、画像はダウンロードすることができない。

プライベートなプロジェクトの画像をダウンロードするには、Cookie からセッション ID を取得して、このツールに読み込ませる必要がある。

取得する方法は簡単。Private Project にログインしているブラウザの開発者ツールを開いて、アプリケーションタブの Cookie から connect.sid を探す。その値を先ほどのツールの .env ファイルに入れる。

ツールにはサンプルの .env.sample が同梱されているので、それをリネームして、サンプルの値を書き換えよう。あとは先ほどと同じようにコマンドを実行すれば、プライベートなプロジェクトでも画像をダウンロードできる。

この記事を書いた人

AioiLight

Web とか Android とかをやってる人。アニメ・ゲームが好きなはずなのに消費しきれない毎日。

Twitter (@aioilight)