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をつけてみました。 これでちょっと強固かな。