dp-lightbox

A full-screen image viewer opened by clicking a thumbnail. Application.js creates a single
instance, reachable as app.lightbox. Every image marked with the data-lightbox attribute
opens in the same overlay, so thumbnails behave identically across the site.

Source: static/js/components/AppLightbox.js.

The data-lightbox contract

Mark any thumbnail with data-lightbox to make it clickable. The viewer shows the value of
data-full when present (a distinct full-resolution URL), otherwise the image's own source. The
image alt is reused as the caption.

<img src="thumb.jpg" data-lightbox data-full="full.jpg" alt="A diagram">

Images rendered from markdown content (data-render) are marked automatically, so embedded
images are clickable with no extra markup.

Methods

Method Behaviour
open(src, { alt }) Open the overlay showing src, with optional caption alt.
close() Close the overlay.

The overlay also closes on the close button, a click outside the image, or the Escape key.

app.lightbox.open("/static/img/diagram.png", { alt: "Architecture" });
Live example
Sample thumbnail Click the thumbnail to open the lightbox.