summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2026-05-09Add live album filter search boxKen D'Ambrosio3-1/+18
Typing in the search box instantly hides non-matching album cards. Shown only when an album has more than 4 sub-albums (no point otherwise). Pure client-side — no server round-trips. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-09Add DESIGN.md — architecture and workflow referenceKen D'Ambrosio1-0/+398
Covers system architecture, directory layout, dependencies, data model, all HTTP routes, request flows (browse, thumbnail, lightbox, slideshow, admin), the update.rb script, security model, and deployment. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-09Search subdirs recursively for album cover candidatesKen D'Ambrosio1-6/+11
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>
2026-05-09Replace dynamic cover checkbox with random image dropdown optionKen D'Ambrosio2-12/+10
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>
2026-05-09Fix video/audio players showing on image lightboxKen D'Ambrosio1-0/+1
#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>
2026-05-09Initial commit — Albumen photo albumKen19-0/+1788
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>