| Age | Commit message (Collapse) | Author | Files | Lines |
|
Albums with no top-level photos (only sub-albums) now find a cover by
walking the full directory tree. Extracted cover_candidates() does a
recursive glob and returns paths relative to the album dir so the
existing thumb URL construction works unchanged.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
|
Adds "— random image —" as a selectable cover option (stored as __random__
sentinel). album_cover() now picks a random eligible file when that value is
set, giving a fresh cover on each page load. Removes the cover_dynamic field
that was saved but never actually used in display logic.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
|
#lb-video and #lb-audio had explicit display:block via ID selectors, which
outweighed the .hidden class selector and kept the players visible for photos.
Added !important to .hidden so the utility class always wins.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
|
Ruby/Sinatra self-hosted photo album with directory hierarchy,
per-photo captions and visibility, lightbox, slideshow, admin UI,
and Let's Encrypt HTTPS via Apache reverse proxy on prouter.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|