Giux-Lab Gallery
WordPress gallery plugin with Viewer and Catalog modes, multilingual support, Gutenberg block, ZIP downloads and XML import/export.
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/giuxlab-hub/giuxlab-gallery/archive/refs/heads/main.zipReadme
Giux-Lab Gallery
Giux-Lab Gallery is a lightweight WordPress plugin for technical image galleries. It provides a manual Viewer and a metadata-rich Catalogue, with no autoplay or automatic loop.
Version: 0.2.0
License: GNU GPL v3 or later
Encoding: UTF-8
WordPress: 6.6+ (tested up to 7.1)
PHP: 7.4+
Main features
- Manual Viewer with stable responsive canvas, keyboard/touch navigation, overlay mode and hi-res zoom.
- Catalogue mode with title, ALT, caption, description and per-image download.
- Optional Viewer / Catalogue switch saved per gallery and overridable per block/shortcode.
- Multiple galleries and switches on one page keep independent state.
- Public full-gallery page and portable ZIP export (
index.html+ hi-res images). - Optional watermark for anonymous hi-res/ZIP downloads; authenticated users receive originals.
- Gutenberg block (Block API 3) and compatibility shortcode.
- Gallery languages: Universal, Italian and English.
- Public multilingual integration hooks; no dependency on private implementation details of another plugin.
- XML import/export 1.2 with complete pre-validation, preview and rollback; imports 1.0 and 1.1 remain supported.
- Optional WordPress Dashboard widget with accessible-gallery count and recent galleries.
- Italian/English admin, Gutenberg and frontend strings.
Shortcode
[giuxlab_gallery id="123"]
[giuxlab_gallery id="123" mode="viewer|catalog" switch="on|off" lang="it|en"]
All optional attributes fall back to the gallery/content defaults.
Viewer / Catalogue switch
Each gallery stores:
- display mode:
viewerorcatalog; - mode switch: enabled or disabled.
Existing galleries keep the switch disabled by default. A Gutenberg block or shortcode can override both settings for a single insertion.
Multilingual behaviour
A gallery can be it, en or universal.
- IT and EN galleries always use their own effective language.
- Universal galleries follow the embedding content language.
- The effective language is propagated to the Viewer, Catalogue, full gallery page, REST/editor preview and portable ZIP.
- Without a multilingual integration, standard WordPress Media Library fields are used.
Public integration points are documented in docs/INTEGRATION.md.
XML import/export
New exports use XML 1.2 and include:
<display-mode>viewer</display-mode>
<mode-switch>on</mode-switch>
The importer still accepts XML 1.0 and 1.1. XML 1.0 defaults to Viewer + switch off; XML 1.1 adds display-mode and defaults the switch to off; XML 1.2 requires both nodes.
Full format: docs/XML-FORMAT.md.
Dashboard widget
When enabled under Giux-Lab Gallery → Settings, the WordPress Dashboard widget shows:
- number of galleries the current user can edit;
- five most recently modified accessible galleries;
- New gallery and Manage galleries actions.
Each user can hide it through normal WordPress Screen Options.
Installation
- Upload the release ZIP from Plugins → Add New → Upload Plugin.
- Activate Giux-Lab Gallery.
- Configure watermark, colours and Dashboard widget under Giux-Lab Gallery → Settings.
- Create a gallery or insert the Giux-Lab Gallery block in a post/page.
Development
Repository files are deliberately usable both as a GitHub source tree and as an installable WordPress plugin directory. See CONTRIBUTING.md and SECURITY.md.
Changelog
See CHANGELOG.md.
License
GNU General Public License v3 or later. See LICENSE.txt.