今回の記事では、obsidianで読書ノートを作る方法を紹介しています。
Obsidianで読書ログをつけ始めたわけ
洋書多読をするようになって、ここまでどれくらい読めたのか記録をしたいと思うようになりました。
最初は、スマホアプリを使っていたけど、
- どこかでお金がかかってくるかもしれない
- もしサービス終了したら、そこまでのデータを丸ごと移さなきゃいけない
開発元の都合に左右されてしまうリスクを考えてしまいます。
エクセルへの記録は、わざわざファイルを開いたり、タイトルや著者名などを入れるのが億劫でやめてしまいました。
今は、obsidianというフリーソフトを使っています。

obsidianはノートアプリなんですが、自分のPC上にデータを保存できます。
ノート同士を繋いで、知識をつなげていくのがコンセプトだったかな。(確か)
notionやevernoteに近いです。

データが自分の手元にあるので安心だし、メモ帳感覚で使えるので私的にはとても使いやすいと思います。
iCloudにデータを置いているので、PC、iPhone、iPad共有でノートを見たり、編集できます。

1冊=1ファイルで、各ノートのメモも残せます。
Obsidianで読書記録をつける方法
Obsidianのコミュニティプラグイン「Book Search」を使います。
※説明が長くなってしまうので、初期設定や基本の使い方などは割愛します。
コミュニティプラグイン「Book Search」をインストール
環境設定>Community Plugins>Browseから「Book Search」を検索。

同じように「Templater」もインストールしてください。

読書用ノートテンプレートを用意する
テンプレートフォルダに、読書用のノートテンプレートを用意します。

ファイル名は「book」、ファイルの内容は以下の内容をコピペで。
tags(タグ)は「book」としていますが、好きなタグ名を入れてください。
他にも私は「words(単語数)」や「YL(読みやすさレベル)などのプロパティを足しています。
---
title: "{{title}}"
subtitle: "{{subtitle}}"
author: "{{author}}"
publisher: {{publisher}}
published: {{publishDate}}
isbn: {{isbn10}} {{isbn13}}
cover: {{coverUrl}}
tags: book
date: {{DATE:YYYY-MM-DD}}
---
<%* if (tp.frontmatter.cover && tp.frontmatter.cover.trim() !== "") { tR += `` } %>
## {{title}}
{{description}}Book Searchの設定
環境設定>Book Searchから「ファイル保存先」「ファイル名」「テンプレートファイル」などを設定します。
ロケールを、私は「English」にしていますが、和書なら「Japanese」に設定してください。

APIキーを貼り付け
Google CloudにてAPIキーを作成し、APIライブラリからBooks APIをONにしてAPIキー欄に打ち込みます。これでGoogle Booksからデータを取得出来るようになります。
APIとサービス>認証情報から認証情報作成「APIキー」を選択します。
名前を入れて、APIの制限には「Books API」を選択して、保存。

BookSearchプラグインの「Set API Key」に、発行されたAPIキーを貼り付け、「Save Key」をタップします。

以上で設定は完了。
読書ノートの作り方
パソコンの場合は、Command + Pでコマンドメニューを開き「Book Search: Create New Book」をクリック

または、左側のサブメニューにある本のアイコンをクリック。

スマホの場合は右下の3本線をクリックして「Create New Book」をクリック

検索バーが出てくるので、タイトルなどを入れると、指定したフォルダに読書用のノートが作成されます。

たまに、書籍の情報が上手く取れなかったりもするので、その時は手作業で入力しています。
読書データベースを作る
Create New Baseで一覧を作ります

フィルター:file tags(タグ) contains book(本)
プロパティー:日付、タイトル、著者名など好きな項目
ソート:日付(昇順)
一番下の行をクリックすると集計行を出せます。私は単語数の合計をだしていますが、読んだ冊数などを出しても良いかも。
おまけ:月別集計表
コミュニティプラグイン「Dateview」を使って集計をしています。

コードは以下の通り
```dataview
TABLE sum(rows.word_num) AS "Total Words"
FROM #book AND #English
FLATTEN number(words) AS word_num
WHERE word_num
GROUP BY dateformat(date, "yyyy-MM") AS Month
SORT Month ASC
```最後に
一度設定してしまえば、ぽちぽちっと読んだ本を追加できるのでとっても便利。
一覧や集計も自由にできるので気に入っています。
Obsidianを使っている方、Google Cloud APIの設定に抵抗がない方は是非トライしてみてください。


