Shoji

A zero-dependency, plugin-first TypeScript lightbox/gallery. Drop in two <script>/<link> tags, or install from npm — everything else, including every official plugin, is opt-in.

Guides

Examples

Real, runnable, self-contained HTML files — copy one wholesale into your own project.

Browse the examples →

Playground

Every GalleryOptions/plugin-option field as a live form — flip settings, pick dynamic (JSON items) vs. selector (DOM markup) mode, and rebuild the gallery to see the result immediately, no editing required.

Open the playground →

API reference

Generated from source via TypeDoc — always in sync with the actual public types (src/index.ts, src/core/index.ts, and each official plugin's index.ts).

Browse the API reference →