Jazzと読書の日々

iPadを筆記具として使う方法を模索します

Obsidianに蔵書データベースを作る方法

読書の日々。

Book Searchプラグインを使うと蔵書データベースが作りやすくなります。 タイトルや著者名、出版社といった情報が拾ってこれる。

で、Dataviewで表にするわけですが、これが進化しました。

Books.md

下記スクリプトを貼り付けてください。

```dataviewjs
const p = dv.el("input")
p.placeholder = "..."
p.style = "font-size:large;border-radius:3px;"
const btn = dv.el("button", "+")
btn.style = "font-size:small;margin:5px;width:40px;"
const b = dv.el("div", "")
b.style = "max-height:14000px;"
disp()

p.onkeyup = () => disp()

btn.onclick = () =>{
  navigator.clipboard.writeText(p.value)
  s = "obsidian-book-search-plugin:open-book-search-modal"
  app.commands.executeCommandById(s) 
}

function disp(){
  const  d = dv.pages('"book"')
  .filter(x => x.file.name.includes([p.value]))
  .sort(x => x.file.ctime, "desc")
  .map(x => "<tr style='font-size:small;padding:4px;'><td><a class=internal-link href=\"" + x.file.name + "\"><img style='width:60px;' src=" + x.coverSmallUrl + "></a></td><td>" + x.title + "</td><td>" + x.author + "</td><td>" + (x.publisher || "") + "</td><td>" + x.publishDate.toLocaleString() + "</td></tr>")
  b.innerHTML = "<br><table style='width:100%;'>" + d.join("\n") + "</table>"
}
```

途中 const d = dv.pages('"book"') のところ。

Book Search の保存先をbookフォルダにしているので "book" になってますが、ここはご自分の環境に合わせて書き換えてください。

使い方

ファイルの修正日順に並ぶことにしました。 左端の書影をタップすると元のファイルを開くようにしてある。 メモを書き加えるとそのファイルが上に来る仕組み。

検索欄にタイトルか著者名を書くと絞り込みをします。

検索欄の右にある「+」をタップすると Book Search を起動します。 そのとき検索欄の内容がクリップボードに入っているので、そのままペーストしてください。

これでどんどんデータベースが充実します。

まとめ

最近フリーレンを見始めたけど、思った以上にしっかりしたファンタジーだった。 ニコ動でギャグシーンだけ流れてるから侮ってました。

「人の心」は「人との出会い」で芽生える。 それも追憶として。