Add a timeline page grouping photos by day

New /timeline/ page renders photos grouped into consecutive same-day
runs (ISO date heading plus per-day count), reusing the square grid.
groupByDay collapses the newest-first photo list; the page is not
paginated. Linked from the profile header.
This commit is contained in:
2026-08-19 23:46:28 +02:00
parent c169c030d6
commit 9b6fcb482b
5 changed files with 132 additions and 0 deletions
+2
View File
@@ -47,6 +47,7 @@ Missing sidecar → filename as caption, today as date. Photos sort newest first
- Manjari for Malayalam text (bio line), via `-ml-family`
- 3-column square grid → 2-column on mobile, 60 photos per page (`/`, `/page/2/`, …)
- Single photo page with sidebar and newer/older navigation
- Timeline page (`/timeline/`) groups photos by calendar day: one ISO date heading (`2026-06-14`) + count per day, then the same square grid. Linked from the profile header; `groupByDay` in `generator.go` collapses the newest-first photo list into consecutive same-day runs, so it is not paginated.
### Photo page navigation
@@ -130,6 +131,7 @@ nix build # succeeds
| `watcher.go` | fsnotify watcher with 500ms debounce |
| `assets.go` | `//go:embed` for templates and static |
| `templates/photo.html` | Single photo page, neighbour links and prefetch |
| `templates/timeline.html` | Timeline page, photos grouped by day |
| `static/photo-nav.js` | Arrow-key and swipe navigation |
| `module.nix` | NixOS module (systemd service, tmpfiles, nginx vhost) |
| `flake.nix` | `buildGoModule` package + devShell + nixosModules |