昨日の続き。
PDFをダウンロード
これ、PDFが少ないうちはいいけど、増えてきたら困るんじゃないか。 ObsidianでPDFを管理するなら少なくともタイトル検索は必要だろう。 じゃあ、いつものパターンか。
ということで、いつものです。
PDFView.md
dataviewスクリプトです。
```dataviewjs const p = dv.el("input","") p.placeholder = "..." p.style = "width:50%;font-size:large;border-radius:5px;" const b = dv.el("div", "") b.style = "height:800px;" disp() p.onkeyup = () => disp() function disp() { const d = dv.array(Object.entries(dv.app.metadataCache.fileCache)) .filter(([x,y]) => /\.(pdf)/i.test(x)) .filter(([x,y]) => x.includes(p.value)) .sort(([x,y]) => y.mtime, "desc") .map(([x,y]) => { s = new Date(y.mtime) return `<tr><td style="width:70%"><a class=internal-link href="${x}">${x.split("/").pop()}</a></td><td>${s.toLocaleDateString()}</td><td style="text-align:right">${y.size.toLocaleString()}</td></tr>` }) b.innerHTML = `<br><div style="font-size:small;">(${d.length.toLocaleString()})</div><table>${d.join("")}</table>` } ```
ごちゃごちゃしてるなあ。
キャッシュからPDFを絞り込んでテーブルにしてるだけですけどね。 dataviewはmdファイルしか想定してないので裏技を組み込んでます。
使い方
リーディングビューにすると下図のようになります。
ファイル名とダウンロード日、ファイルサイズが表示される。
検索欄にキーワードを入れるとファイル名で絞り込みます。 ファイル名をタップすると、もとのPDFが開く仕組み。
PDFのコピー
Obsidianのデフォルトで扱える操作は何だろう?
実はテキストの範囲を選んで「コピー」ができる。 その「コピー」なんですが、ありがたいことにMarkdownの引用形式になってます。
知覚経験の現象的性格とは、知覚主体当人の観点か ら感じられる、知覚経験の意識的で質的な側面のこと である。(その側面はまた、「クオリア1」と呼ばれたり、 「主体にとってその経験をもつとはどのようなことで あるか(what it is like)」という言い回しによって表現さ れたりする。)
知覚はプロジェクションか?, ページ 2
こんな感じにペーストできて、末尾にリンクがつきます。 このリンクをタップすると、もとのPDFが開き、該当箇所がハイライトされます。
ね? 便利でしょ。
PDFの埋め込み
MarkdownにPDFを埋め込むこともできます。
![[知覚はプロジェクションか?.pdf]]
いわゆるWikiリンクに!をつける記法です。
キャンバスにPDFをドロップしても埋め込みになります。
これ、論文を空間的に配列できて、何かできそうなんだけど、思いつかず。 キャンバスにキャンバスを埋め込んで階層化もでき、何かできそうなんだけどなあ。 何かなあ。
まとめ
あと、キャンバスのPDFの右肩につくアイコン。 何をするものだろう?