「この本、家にあったっけ?」
本屋で気になった本を見つけたとき、何度かそう思ったことがありました。
家には100冊以上の本があります。しかし、どの本を持っているのか、読んで何を考えたのかを一覧で確認できる場所はありませんでした。
そこで、家にある本をObsidianへまとめて登録し、スマホからも本棚と読書メモを確認できるようにするコミュニティプラグイン ISBN Bulk Import Bookshelf Builder を作りました。
作ろうと思ったきっかけ
きっかけは、こちらの記事です。
この記事で紹介されているObsidian Bookshelfは、ISBNを入力すると書籍情報や表紙を取得し、ObsidianのBasesで本棚を作れるプラグインです。
「まさに欲しかったものだ」と思った一方、私の家には100冊以上の本があります。
1冊ずつISBNを入力していくのは、なかなか骨の折れる作業です。最初の10冊くらいは楽しくても、その先には静かな修行が待っています。
そこで考えたのが、次の流れです。
- 本の裏表紙をスマホでまとめて撮影する
- 写真からISBNを一括で読み取る
- 書籍情報と表紙を自動取得する
- Obsidianへ書籍ノートとして一括登録する
- Basesで仮想本棚として表示する
この「大量の本を最初に登録する作業」を楽にするため、元のプラグインをベースに一括取り込み機能を追加しました。
ISBN Bulk Import Bookshelf Builderでできること
1. 裏表紙の写真からISBNを一括抽出
iPhoneやカメラで本の裏表紙を撮影し、画像が入ったフォルダを選択します。
JPG、PNG、WebP、GIF、BMPに加えて、iPhoneで使われるHEIC/HEIF形式にも対応しています。
画像内のバーコードからISBNを検出し、結果をCSVファイルへ出力します。バーコードを検出できなかった場合は、macOSのVision OCRを使って、裏表紙に印刷されたISBN-10/ISBN-13の文字列も探します。
読み取れなかった画像もCSVに not_found として残るため、あとから該当する行だけ確認できます。
2. CSVから書籍ノートを一括作成
作成したISBN一覧CSVを読み込むと、書籍情報を取得してObsidianへまとめて登録します。
主に次のサービスから情報を取得します。
- 国立国会図書館(NDL)
- Google Books
- Open Library
- openBD
- Books.or.jp
日本の書籍、特に 978-4 で始まるISBNを主な対象にしています。タイトル、著者、出版社、概要、表紙など、取得できた情報からMarkdownの書籍ノートを作ります。
同じISBNがすでにVault内にある場合は重複を検出します。「同じ本を何度も登録してしまった」という事故も避けられます。
3. 表紙付きの本棚をBasesで表示
登録した書籍は、Obsidianのコアプラグイン「Bases」を使ってカード形式で表示できます。
- 読みたい
- 読書中
- 読了
といった状態で本を整理でき、評価や読書の進捗も管理できます。
単なる蔵書一覧ではなく、それぞれのカードの実体はMarkdownノートです。書籍ノートを開けば、その本を読んで気づいたことや、試したいことを自由に書き残せます。
4. 書籍情報をあとからまとめて更新
登録時に概要や表紙が取得できなかった本も、あとから全件まとめて再取得できます。
再取得時には、読書状態、進捗、評価、日付、メモなど、自分で記録した情報を維持します。
表紙画像はVault内へWebP形式で保存します。低解像度の画像を除外し、複数の取得元から、より適切な画像を探します。APIから表紙を取得できない場合は、ドラッグ&ドロップやクリップボードから手動で設定することもできます。
5. Kindle Highlightsのノートにも概要を追加
コミュニティプラグイン「Kindle Highlights」を利用している場合は、同期済みのKindleノートへ書籍概要を一括追加できます。
紙の本とKindle本をObsidian上で扱えるため、本の形式が違っても読書メモの置き場所をまとめられます。
実際の使い方
インストール
Obsidianで次の順に開きます。
- 「設定」を開く
- 「コミュニティプラグイン」を開く
- 「閲覧」を選ぶ
-
ISBN Bulk Import Bookshelf Builderを検索する - インストールして有効化する
プラグインページはこちらです。
本を一括登録する
- 本の裏表紙を1冊ずつ撮影する
- 写真をMacへまとめる
- Obsidian左側のバーコードスキャンアイコンを押す
- 写真が入ったフォルダを選択する
- 出力されたCSVを確認する
- ライブラリアイコンを押し、そのCSVを選択する
- 書籍情報の取得とノート作成が終わるのを待つ
これで、写真の束がObsidianの本棚に変わります。
スマホでも本棚とメモを見られる
このプラグインの一括登録機能は、ファイル選択や画像処理を行うためデスクトップ版Obsidian専用です。OCRによるISBN文字列の補完はmacOSで動作します。
一方、登録後に作成されるのは、通常のMarkdownノートとVault内の表紙画像です。
Obsidian Sync、iCloud Drive、Gitなど、自分に合った方法でVaultを同期すれば、スマホ版Obsidianからも次のことができます。
- 家にある本を確認する
- 表紙付きの本棚を眺める
- 読書メモを読む・追記する
- 読みたい本や読了した本を確認する
私が欲しかったのは、単に本をデータベース化することではありませんでした。
外出先でも「この本は持っている」「この本からこんなことを学んだ」と確認できる、自分専用の本棚を持ち歩くことでした。
プライバシーについて
裏表紙の画像は、バーコード検出やOCRのために外部サーバーへ送信しません。
書籍情報を取得する操作を実行したときは、ISBNを各書籍APIへ送信します。バックグラウンド通信や利用状況を収集するテレメトリーはありません。
書籍ノートも表紙も自分のVaultへ保存されるため、読書メモをどこで、どのように管理するかを自分で選べます。
開発について
ソースコードはGitHubで公開しています。
このプラグインは、CocoaAI-ITさんが開発した easy-obookshelf をもとにした派生プラグインです。
ISBNから書籍情報を取得してObsidianの本棚を作る、という素晴らしい土台があったからこそ、大量の本を一括登録する今回の仕組みを作れました。この場を借りて、元作者およびコントリビューターの皆さまに感謝します。
まとめ
家にある本が増えるほど、「何を持っているか」だけでなく、「そこから何を得たか」も見えにくくなります。
ISBN Bulk Import Bookshelf Builderを使うと、
- 裏表紙をまとめて撮影
- ISBNを一括抽出
- 書籍情報と表紙を自動取得
- Obsidianへ一括登録
- スマホから本棚と読書メモを確認
という流れで、物理的な本棚とデジタルな読書記録をつなげられます。
家に眠っている本を、もう一度「使える知識」に戻してみませんか?
ぜひ試していただき、不具合や改善案があればGitHubのIssueで教えてください。
