=== Custom Gallery ===
Contributors: tudorgibson
Tags: gallery, masonry, pinterest, lightbox, media
Requires at least: 5.8
Tested up to: 6.6
Requires PHP: 7.4
Stable tag: 1.0.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

A lightweight Pinterest-style masonry gallery with boards, filter buttons, lightbox and zoom. No external libraries.

== Description ==

Custom Gallery is a fast, minimal-dependency image gallery for WordPress designed for sites with 100–1000 images.

* Pinterest-style masonry layout using **CSS columns** (no JS layout library).
* Use existing **Media Library** images. Nothing is duplicated.
* Group images into **Boards** (custom taxonomy `gallery_board`).
* Optional filter buttons for each Board.
* Built-in **fullscreen lightbox** with previous/next, zoom in/out, pinch-to-zoom and swipe.
* `loading="lazy"` for native lazy loading.
* Scripts and styles only load on pages that actually use the shortcode.

== Usage ==

After activation:

1. Go to **Gallery → Boards** and create one or more boards (e.g. "Nature", "Travel").
2. Go to **Gallery → Add Images**, pick a board, click *Select Images from Media Library* and add as many images as you like.
3. Drop the shortcode into any post or page:

   `[custom_gallery]`

   Or filter to a specific board by name, slug, or ID:

   `[custom_gallery board="Weddings"]`

== Settings ==

**Gallery → Settings** controls:

* Enable boards system
* Enable filter buttons
* Enable lightbox
* Enable zoom controls
* Enable lazy load
* Masonry column count (Auto / 2 / 3 / 4 / 5)

== Frequently Asked Questions ==

= Does it crop my images? =
No. Masonry uses CSS columns, which preserve each image's aspect ratio.

= Does it load anything globally? =
No. Frontend CSS/JS is only enqueued on pages that contain the `[custom_gallery]` shortcode.

= Does it work on mobile? =
Yes. The layout is responsive (2 cols on phones, 3 on tablets, 4 on desktop in Auto mode) and the lightbox supports swipe and pinch.

== Changelog ==

= 1.0.0 =
* Initial release.
