summaryrefslogtreecommitdiffstats
path: root/views/layout.erb
AgeCommit message (Collapse)AuthorFilesLines
4 daysAdd people/face clustering featureKen D'Ambrosio1-0/+2
- scripts/cluster_faces.py: greedy centroid clustering (numpy) with 3 refinement passes; preserves existing UUID/name mappings across re-runs; writes MEDIA_ROOT/people.json atomically. - app.rb: GET /face/* serves cropped+padded face thumbnails (100x100, cached under cache/faces/); GET|POST /admin/people for cluster management; POST /admin/people/recluster runs cluster_faces.py as a background job; POST /admin/people/:uuid saves names+slugs; GET /people public grid of named people; GET /people/:slug photos for one person. - views/admin/people.erb: lists all clusters (named first, then by size), face crop samples, inline name form, re-cluster button with live log. - views/people.erb: public grid of named people. - views/person.erb: photo grid for one person, linking back to album lightbox for each photo. - views/layout.erb: People link in nav (conditional on FACES_ENABLED). - public/css/style.css: styles for people admin list and public tiles. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-12Add albumen.png as app icon, favicon, and OG fallback imageKen D'Ambrosio1-1/+3
- public/img/albumen.png: app logo - public/favicon.ico: 32x32 + 16x16 multi-size - public/apple-touch-icon.png: 180x180 for iOS home screen - layout.erb: favicon link tags; og:image falls back to albumen.png when no specific photo is selected Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-11Add Open Graph meta tags for social media link previewsKen D'Ambrosio1-0/+5
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-11Return to current album's edit page after admin loginKen D'Ambrosio1-1/+1
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-10Add slideshow: root-level, shuffle, fullscreen, click-to-albumKen D'Ambrosio1-1/+1
- Root slideshow: all_media_entries walks the full media tree so /slideshow/ shows every photo across all albums; Slideshow button always appears on the root album page - Shuffle and Full screen checkboxes sit next to the Slideshow button on the album page; options pass as ?shuffle=1&fullscreen=1 URL params - Fullscreen uses a tap-to-activate overlay (browsers block auto-entry on page load); webkit-prefixed for Safari; ⛶ button and F key for mid-session toggle - Fullscreen mode hides controls, counter, caption bar, and site header - Exiting fullscreen auto-pauses so the current photo stays visible - Click/tap anywhere in the stage navigates to the photo's album lightbox; reads the live src attribute instead of ssIdx to avoid a race where ssIdx advances during the cross-fade while the old photo is still on screen - layout.erb excluded from slideshow (layout: false) so the site header never appears there - CSS cache-busted with ?v=2 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-09Initial commit — Albumen photo albumKen1-0/+25
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>