No description
  • PHP 53.1%
  • JavaScript 29.1%
  • CSS 16%
  • Python 1.8%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Joel Yoder 0e35fb014a Run gallery import from a dedicated button
The classic editor's post form has no multipart enctype, so the import
file never reached the save handler. Import now runs over admin-ajax
from an Import button: the server parses the export, sideloads cover
images, and returns the videos (with thumbnails) which are added to
the editor as rows; settings are applied to the form fields. Nothing is
saved until the user clicks Update, so unsaved edits aren't lost and
the result can be reviewed first.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-12 12:12:44 -04:00
assets Run gallery import from a dedicated button 2026-09-12 12:12:44 -04:00
bin Vimeo Swipe Gallery 1.3.2 2026-09-12 00:31:58 -04:00
includes Run gallery import from a dedicated button 2026-09-12 12:12:44 -04:00
.gitattributes Vimeo Swipe Gallery 1.3.2 2026-09-12 00:31:58 -04:00
.gitignore Vimeo Swipe Gallery 1.3.2 2026-09-12 00:31:58 -04:00
README.md Export / import galleries as JSON 2026-09-12 11:47:12 -04:00
readme.txt Run gallery import from a dedicated button 2026-09-12 12:12:44 -04:00
vimeo-swipe-gallery.php Run gallery import from a dedicated button 2026-09-12 12:12:44 -04:00

Vimeo Swipe Gallery

WordPress plugin: build swipeable galleries of Vimeo videos and place them anywhere with a shortcode.

  • Stack display (default): iMessage-style deck of cards you flick through; loops.
  • Slider display: classic side-by-side track using CSS scroll-snap.
  • Per-video captions and Media Library cover images; falls back to the Vimeo thumbnail.
  • Aspect ratio and max-height settings (keeps vertical videos a sane size on desktop).
  • Lazy players: the Vimeo iframe is created only when you press play and torn down when you move on.
  • Export / import galleries as JSON to move them between sites; cover images are re-downloaded on import.
  • No third-party libraries.

See readme.txt for the shortcode reference, CSS variables, and hooks.

Layout

vimeo-swipe-gallery.php   bootstrap
includes/helpers.php      settings, Vimeo URL parsing, oEmbed lookups
includes/admin.php        "Vimeo Galleries" post type, meta boxes, saving
includes/shortcode.php    [vimeo_gallery] shortcode + front-end markup
includes/transfer.php     export / import a gallery as JSON (cross-site migration)
assets/                   front-end and admin CSS/JS
bin/build-zip.py          builds dist/vimeo-swipe-gallery.zip

Build

python bin/build-zip.py

Upload dist/vimeo-swipe-gallery.zip via Plugins → Add New → Upload Plugin (choose "Replace current with uploaded" when updating).

Releasing a new version

Bump the version in three places: the Version: header and VSG_VERSION in vimeo-swipe-gallery.php, and Stable tag in readme.txt. VSG_VERSION is also the cache-buster for the CSS/JS, so bumping it makes browsers pick up asset changes.