Jazzと読書の日々

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

Obsidian galleryの最新版はこっち

最新版は上記の記事のほうです。

再掲すると、下記の通り。

```dataviewjs
const s = dv.current().file.folder
d = dv.array(Object.entries(dv.app.metadataCache.fileCache))
    .filter(([x,y]) => x.includes(s))
    .filter(([x,y]) => /\.[jpg|png|gif]/i.test(x))
    .map(([x,y]) =>  "[![[" + x + "|220]]](" + encodeURI(x) + ")" )
const g = d.join("\n")
dv.span(g)
```

設定の仕方

画像をassetsフォルダに入れている場合。 assetsフォルダ内にgallery.mdというファイルを作り、そこに上記のスクリプトを貼り付けてください。

準備はこれで完了。

使い方

gallery.mdをリーディングビューで表示してください。 assetsフォルダ内の画像ファイルが一覧表示されます。

画像をタップすると、元のファイルが開くようになっています。

まとめ

再起動しそうな理由がわからないけど。

追記

モリーが足りなくなるのかなと思い、画像を1000枚に増やして実験してみました。 当方もiPadです。

結果とすると、修正版のdv.spanなら表示しました。 旧版のdv.paragraphだと固まってしまいますね。 dataview自体に割り振られたメモリーがあるのだと思います。

dv.spanのほうも上限があるでしょう。 モバイルだとそこは仕方ない。

```dataviewjs
const s = dv.current().file.folder
const c = Object.entries(dv.app.metadataCache.fileCache)
const d = dv.array(c)
    .filter(([x,y]) => x.includes(s))
    .filter(([x,y]) => /\.[jpg|png|gif]/i.test(x))
    .limit(1000)
    .map(([x,y]) => "[![[" + x + "|220]]](" + encodeURI(x) + ")" )
dv.span(d.join("\n"))
```

limitと変数を保護するconstをつけてみました。 これでちょっと強固かな。