🦝

はてなブックマークからOmnivoreに移行するためのツールを作りました

2024/01/29に公開

まえがき

長らくはてなブックマークを使っていましたが、最近はあとで読む記事を管理するツールとしてOmnivoreを愛用してます。
使っているうちに、以前まで利用していたPocket、はてなブックマークの記事もすべて移行したくなりました。
Pocketのデータについては、公式でインポートのためのインテグレーションが用意されていたので特に困りませんでしたが、はてなブックマークについては既存の移行ツールも見つけられなかったので自作しました。

成果物は下記リポジトリです。使い方はREADMEにあります。
https://github.com/tkancf/hatebu-to-omnivore
同じくはてなブックマークからOmnivoreに移行したい方はご利用ください。バグがあったらIssueへお願いします。(PRも大歓迎です)

実装について

はてなブックマークのデータは設定ページからエクスポートが可能なので、Atomフィード形式でエクスポートして、エクスポートしたデータをOmnivoreのAPIでインポートすれば移行できます。
CSVインポート用のGraphQL APIがあるので、それを使いました。
以下のようなクエリを用意して、CSVインポート用のURLを取得できます。

const mutation = `
mutation UploadImportFile($type: UploadImportFileType!, $contentType: String!) {
  uploadImportFile(type: $type, contentType: $contentType) {
    ... on UploadImportFileError {
      errorCodes
    }
    ... on UploadImportFileSuccess {
      uploadSignedUrl
    }
  }
}
`

なんで移行したの?

Omnivoreへの移行理由は以下のものです。

  • Omnivoreに入れた記事をObsidianへ同期できる
    • 同期の内容はカスタマイズも可能で、記事でハイライトした部分のみなども設定可能
    • ハイライトした行 + コメント + 記事全文の同期 のように設定の幅も広い
  • 記事のハイライトとコメント機能が便利
    • 記事の気になった部分にハイライトをつけることが可能
    • 各ハイライトにコメントをつけることも可能
      • ハイライトへのコメントもObsidianへ同期できるのがかなり便利
  • iPhoneアプリの使いやすさ
    • オフラインへ保存されるので、出先でも閲覧可能
    • ハイライト・コメント機能もPCと遜色なくストレスなく利用できる
  • はてなブックマークのSNS連携機能をあまり使わなくなった
    • Twitter連携なくても良いかなと思えたことが移行のきっかけになりました

Omnivoreが私の他ツール(Obsidian)と上手く連携出来ることに気付いたのが一番の理由です。

あとがき

Omnivoreオススメです。使ってみて感触が良ければ、既存のツールの資産もインポートしてみると良いんじゃないでしょうか。

Discussion