Jazzと読書の日々

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

Obsidianのフォルダにインデックスをつける

フォルダごとのファイル一覧を表示します。

progress

元ネタは以前作った「進捗状況一覧」です。 ファイルサイズを棒グラフで表示する。 空っぽのファイルや書き掛けの記事を見つけやすい。

これに検索機能をつけてみました。

index.md

dataviewスクリプトです。 このファイルが置かれたフォルダを対象に履歴表示します。

---
search: 
cssclasses:
  - table-wide
  - table-nowrap
  - table-tiny
  - row-alt
---

```dataviewjs
const MAX = 3200

const q = dv.current().search || ""
const s = dv.current().file.folder
dv.el("div",`<a class=internal-link href='${s}/new'>${s}/</a>`)
const d = dv.pages(`"${s}"`).file
  .filter(x => x.name.includes(q))
  .sort(x => x.mtime, "desc")
  .limit(100)
  .map(x => [ x.link, `<progress value=${x.size/MAX}></progress>`, x.mday.toLocaleString()])
dv.table(["", "サイズ", "修正日"], d)
```

サイズは変数MAXで上限を3200にしています。 日本語は2バイト文字なので1600字分に当たります。 1600字を超えたらフルマークになる設定。

使い方

プロパティのsearchにキーワードを書き込むとファイルを絞り込みます。

フォルダ名をタップすると新規ファイル作成になります。

このindex.mdをブックマークしておけば、フォルダ内のファイルにアクセスしやすい。

cssclasses

Mnimalテーマだとcssclassesが使えます。 たとえばcardsを追加するとカード型表示に変わります。

Style Settingsプラグインの Minimal Cards でカスタマイズできます。 背景色とか見やすくしておくといい。

cssclassesについては上記サイトを参照してください。

まとめ

プロパティは日頃タップして畳んでおくといいかも。