Obsidian plugin to display Currents.is links as an image gallery
README.md

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; Esc to 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.

License #

MIT