今年のものは今年のうちに。
Books
Book Search プラグインを使ってデータベースを作ります。
作品の詳細もデータにあるのに検索の対象としてなかった。 ちょっともったいないなあと思ったのでサブタイトルも含め、絞り込みできるようにしました。
Books.md
dataviewスクリプトです。
```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.title + x.subtitle + x.author + x.description).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="max-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>" } ```
dv.pages('"book"')
の book
は Book Search のファイルが作成されるフォルダです。
ご自分の環境に合わせ書き換えてください。
カード型データベース
プロパティはdataviewの検索対象になる。 考えてみるとこれは「カード型データベースになる」ということですね。 FileMakerみたいな感じで。
現状でもコアプラグインの Properties view でプロパティの検索はできます。 でも、このインターフェースでは活用する気になれない。
どうも Dynamic views という「プロパティのデータベース化」がロードマップに載っています。 ちょっと前まで「databases」という名前だったけど「Dynamic」に変わりました。 ただ表示するだけじゃない。 ダイナミックだ、ということでしょう。 Dynalist社が言うからには、この名前に意気込みが籠ってそう。
どんなのになるでしょう? 来年が待ち遠しい。
まとめ
しめ縄も飾ったしお鏡さんも床の間に置いたし。