まいど同じネタです。
Room
ObsidianにScrapbox(Cosence)のメニューをつけてみる。 そういう狙いのDataviewスクリプトです。
前回queryファイルを使わないので取り外したのですが、すると少し味気ない。 そもそも「Obsidianをローカルなインターネットに見立ててみよう」の意図だったので、全文検索できないのも不便です。
ということで、検索を見直しました。
使い方
リーディングビューで見るとファイル履歴がカード形式で表示されます。
タップすればそのファイルが開く仕組み。 検索欄にキーワードを打ち込むとファイル名で絞り込みをします。
今回の変更点は、検索欄にキーワードを書いてから「+」を押したとき。 これを全文検索にしました。 コアプラグインの検索にキーワードを引き継ぎます。
検索欄が空欄のときは新規ファイル作成になります。
Room.md
スクリプトは下記のようになります。
>[!note]- Room >```dataview>task where !completed group by file.link>``````dataviewjsconst s = "background:ivory;width:119px;height:112px;border:1px solid #eee;border-top:10px solid gold;text-decoration:none;padding:3px;border-radius:5px;margin:3px;overflow:hidden;float:left;"const ss = "border-top:10px solid orange;"const p = dv.el("input")p.placeholder = "..."p.style = "background:whitesmoke;font-size:large;width:50%;border-radius:5px;border:1px silver solid;"const btn = dv.el("button","+")btn.style = "background:none;font-size:small;margin:5px;width:20px;"const b = dv.el("div", "")b.style = "font-size:small;height:4000px;"disp()p.onkeyup = () => disp()btn.onclick = () => { q = encodeURIComponent(p.value) if(q){ open(`obsidian://search?query=${q}`)}else{open("obsidian://new")}}functiondisp(){ r =newRegExp(`${p.value}`,"i")const c = dv.pages('').file .filter(x => x.starred).filter(x => r.test(x.name)).sort(x => x.mtime,"desc").map(x =>`<a class=internal-link style='${s}${ss}' href='${x.path}'>${x.name}</a>`)const d = dv.array(Object.entries(dv.app.metadataCache.fileCache)).filter(([x,y])=> r.test(x)).sort(([x,y])=> y.mtime,"desc").limit(200).map(([x,y])=>`<a class=internal-link style='${s}' href='${x}'>${x.split("/").pop().replace(/.md$/,"")}</a>`) b.innerHTML = c.join("")+ d.join("")}```
AND検索の定位性
全文検索についてですが、普通に多いのは「二つのキーワードをともに含むファイル」という探し方ですね。 AND検索。 これをよく使う。
ある言葉とある言葉の交差点。 記憶はそんな構造をしているのかもしれません。 補助線が一つだけでは特定しにくい。 該当するファイルが列挙されてパニックになります。
二つ補助線を引くとき、焦点が定まる。 目が二つあるのも、耳が二つあるのも、似た理由なのでしょう。 位置の特定には二つの補助線が必要になる。
説明がうまい文章を見ると、そこにも二つの視点があって、同じことを別のメタファーで表現する工夫がされています。 二つのメタファーが軽く使われている。 すると、その事象を定位しやすい。
物事を考えるとき二項対立が使われるのも、思考が2つの視点を必要とするからでしょう。 決して「対立」ではない。 補助線が2つあって「何か」を考えることができる。
その「何か」がサブジェクト(主題)であり、使われる補助線はオブジェクト(対象)なのだろうなあ。 オブジェクトだけ見ていてもサブジェクトは読み取れない。
まとめ
Obsidianをバージョンアップしてから、テキスト横幅が増えてしまった。 たぶんStyle関係のプラグインとバッティングしたんだろうなあ。 アンインストールしても状況は変わらず。
使う分には困らないので、このまま使用を続けています。