Obsidian Currents Gallery #
An Obsidian plugin that turns currents.is photo collection links into inline masonry galleries in Obsidian's reading view.
Drop a bare collection link on its own line:
https://currents.is/profile/bradwenner.photo/collection/3mukgzzhnrs26
Switch to reading view and it renders as a gallery: collection name and photo count, a masonry thumbnail grid, and a lightbox with arrow-key navigation.
This was vibed for my own use I'm too dumb to code 👍️
Features #
- Reading-view galleries for any currents.is profile — no configuration, nothing hardcoded
- In-app lightbox — click a thumbnail for the full image; navigate with
←/→or the on-screen chevrons;Escto close - Per-open freshness — collection records revalidate every time you open a note (throttled), so newly added photos show up on the next open
- Offline-friendly — identity, records, and images cache under the plugin folder; notes render offline once seen
- Graceful degradation — unknown collections or unreachable profiles just stay ordinary links
How it works #
Currents is built on AT Protocol: every profile's collections live as records in their own Personal Data Server (PDS). When a note renders, the plugin resolves the link's handle to a DID (public atproto resolver, with the .well-known/atproto-did method as fallback), resolves the DID to its PDS via its DID document, and fetches the collection and image records directly from that PDS.
Network contacts, in resolution order: bsky.social (handle → DID), plc.directory or the DID's own domain (DID → PDS), then the linked profile's PDS itself (records + images). Everything fetched is cached locally under {vault}/.obsidian/plugins/currents-gallery/cache/.
Install #
git clone https://tangled.org/bradwenner.photo/obsidian-currents
cd obsidian-currents
npm install
npm run build
Copy main.js, manifest.json, and styles.css into {vault}/.obsidian/plugins/currents-gallery/, then enable Currents Gallery in Settings → Community Plugins.
Links with custom text ([my label](https://currents.is/...)) are left as ordinary links, so you can still reference a collection without embedding it.