以下の内容はhttps://wineroses.hatenablog.com/entry/2025/03/16/132514より取得しました。


Obsidian:PDFを検索して一覧表示する

昨日の続き。

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の右肩につくアイコン。 何をするものだろう?




以上の内容はhttps://wineroses.hatenablog.com/entry/2025/03/16/132514より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14