Skip to content

Releases: TheDataAreClean/photos

v2.2.0

Choose a tag to compare

@TheDataAreClean TheDataAreClean released this 14 Jun 05:19
  • feat: Atom feed entries restructured for scanability — <hr> separators between description, capture date, camera/lens, and tags sections; 📆/📷/🏷️ icons on each section; tags now also rendered as visible #tag text (previously only <category> XML elements)
  • chore: one-time script (scripts/strip-title-periods.js) to strip trailing periods from older auto-generated sidecar titles, matching the v2.0.0 title-generation change (text before first period, not first word)

v2.1.0 — Glass categories as tags

Choose a tag to compare

@TheDataAreClean TheDataAreClean released this 14 Jun 05:25
  • feat: Glass categories are now pulled into photo.tags automatically, surfacing as <category> entries in the Atom feed
  • feat: sidecar tags: field — auto-backfilled from Glass categories for existing photos and pre-filled for new ones; once present, the sidecar value is authoritative (same override pattern as description/overrideExif) and future Glass category changes won't overwrite it

v2.0.0 — Series & folders

Choose a tag to compare

@TheDataAreClean TheDataAreClean released this 14 Jun 05:25
  • feat: series support — series/*.md files define a series (title, description, cover photo); photo sidecars tagged with series: + seriesOrder: fields
  • feat: series folder card in the masonry grid — manila folder aesthetic with peeking photo prints; collapses all photos from a series into one card
  • feat: series overlay — full-screen viewer (like lightbox) with thumbnail strip, prev/next, counter; opens from folder card; photo click opens existing lightbox
  • fix: Glass ID generation — use text before first period as slug snippet so numbered series like "Gate #12." get unique IDs instead of colliding on "Gate"
  • Gate series: 15 photos (#1, #5–#18) tagged as first series
  • a11y: series page/overlay — fixed breadcrumb and title contrast, added missing :focus-visible styles across series cards, badges, and overlay controls (incl. keyboard-accessible thumbnail strip)
  • fix: all :hover rules now wrapped in @media (hover: hover) (lightbox, stack, desk, photo-page, view-toggle, series)
  • refactor: copy-link logic deduplicated into GalleryCore.copyLink(), with execCommand clipboard fallback for non-secure contexts
  • perf: will-change hints on lightbox FLIP/zoom and stack-view transitions
  • perf: faster local photo processing — single sharp pipeline reused for metadata + thumb + display via .clone()
  • perf: watermark resize result cached per target size instead of recomputed for every photo
  • chore: OG image generator now reads title/subtitle/attribution/cache dir from config.js instead of hardcoded duplicates
  • chore: stale Glass image/hidden-post cache entries pruned automatically each build
  • a11y: photo page primary image gets decoding="async" fetchpriority="high"

v1.4.0 — Atom feed

Choose a tag to compare

@TheDataAreClean TheDataAreClean released this 24 Apr 11:26
  • feat: Atom feed at /feed.xml — 15 most recent photos, watermarked images, full description, EXIF line, "Captured [date]"
  • feat: feed <updated> tracks sidecar file mtime — editing a description re-surfaces the entry in readers
  • infra: sidecarUpdatedAt field on photo objects via fs.stat() in glass.js and local.js
  • infra: explicit Glass sync step in CI before build; new sidecars auto-committed back to main
  • docs: commit tagging policy — content/sync commits never get a version tag

v1.3.0 — Monthly OG images & favicon

Choose a tag to compare

@TheDataAreClean TheDataAreClean released this 24 Apr 11:26
  • feat: monthly OG image generation (build/og-image.js) — 6 layout templates, deterministic monthly seed, @napi-rs/canvas
  • feat: stacked-prints favicon — variant 4 fixed design, pre-rendered to src/images/, copied at build time
  • fix: OG image text missing in CI — install fonts-open-sans fonts-liberation via apt; Schoolbell + IBM Plex downloaded with GitHub release URL (primary) + Google Fonts fallback

v1.2.0 — View toggle & swipe

Choose a tag to compare

@TheDataAreClean TheDataAreClean released this 24 Apr 11:26
  • design: FAB view toggle refined — bare icon buttons, no labels, no background
  • fix: swipe gesture reliability
  • fix: attribution placement (header + masonry footer)
  • design: casino icon for shuffle button

v1.1.0 — Stack view & shuffle

Choose a tag to compare

@TheDataAreClean TheDataAreClean released this 24 Apr 11:27
  • feat: stack view — one photo at a time, WAAPI exit/enter transitions (~350ms), swipe, keyboard ← →
  • feat: stack chunk proximity trigger — fetches next chunk when within 5 photos of loaded count
  • feat: shuffle mode — Fisher-Yates, localStorage persistence, location.reload() on toggle
  • feat: three-button FAB view toggle (grid / stack / shuffle), aria-pressed, localStorage state
  • design: design system cleanup — CSS token consolidation

v1.0.0 — Initial release

Choose a tag to compare

@TheDataAreClean TheDataAreClean released this 31 Mar 10:35

First public release of the Memories photography gallery. Eleventy static site with masonry grid, lightbox, per-photo pages, Glass API integration, and GitHub Pages deploy workflow.