summaryrefslogtreecommitdiff
path: root/bin
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-06-15 12:47:25 +0300
committerPaul Buetow <paul@buetow.org>2026-06-15 12:47:25 +0300
commit3adeaa68af3bac73450a4156edb51fd1ec88347a (patch)
tree2962fbadd005c51fa82206de3a6982377f262969 /bin
parent840585ffc6f879b3e48e508a36da10471025e142 (diff)
Add EXIF mouse-over tooltip to the normal image view
The details view already showed a title="" hover summary (camera, aperture, ISO, shutter, date) on its image; the normal image view did not. Wire the same tooltip into view.tmpl: - render_view_page now computes the EXIF tooltip via photo_exif_tooltip_text (reusing the shared identify cache, so no extra ImageMagick work) and passes it as the exif_tooltip context var. - exif_tooltip is now a required render field for the view template too. - view.tmpl adds the title="" attribute to its <img> when the summary is non-empty, mirroring details.tmpl (no title when there is no EXIF). - Tests: extend the EXIF render test to assert the view image carries the same tooltip, and update the required-context-vars expectation for view. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Diffstat (limited to 'bin')
-rwxr-xr-xbin/shuriken12
1 files changed, 10 insertions, 2 deletions
diff --git a/bin/shuriken b/bin/shuriken
index c958ee1..8fafb3b 100755
--- a/bin/shuriken
+++ b/bin/shuriken
@@ -619,7 +619,7 @@ declare -ra TEMPLATE_RENDER_FIELD_SPECS=(
'render_current_date_text|current_date_html|||'
'render_enter_page_html|context_html|enter_page|enter_page|splash'
'render_exif_details_html|context_raw|exif_details|exif_details|details'
- 'render_exif_tooltip_html|context_html|exif_tooltip|exif_tooltip|details'
+ 'render_exif_tooltip_html|context_html|exif_tooltip|exif_tooltip|details view'
'render_height_html|config_html|HEIGHT||'
'render_html_dir_html|context_html|html_dir|html_dir|*'
'render_maxpreviews_html|config_html|MAXPREVIEWS||'
@@ -1605,6 +1605,7 @@ render_view_page() {
local -r preview_num="$1"; shift
local -r photo_file="$1"; shift
local animation_class
+ local exif_tooltip_text
template header "$page_num-$preview_num.html" \
html_dir "$html_dir" \
@@ -1614,6 +1615,12 @@ render_view_page() {
show_header_bar 'no'
animation_class=$(random_animation_css_class fast "$photo_file")
+ # Reuse the same EXIF tooltip as the details page so hovering the image in
+ # the normal view shows the camera/exposure summary (reads the shared
+ # identify cache, so no extra ImageMagick work).
+ exif_tooltip_text=$(
+ photo_exif_tooltip_text "$photo_file" "$INCOMING_DIR/$photo_file"
+ )
template view "$page_num-$preview_num.html" \
html_dir "$html_dir" \
backhref "$backhref" \
@@ -1621,7 +1628,8 @@ render_view_page() {
page_num "$page_num" \
preview_num "$preview_num" \
photo "$photo_file" \
- animation_class "$animation_class"
+ animation_class "$animation_class" \
+ exif_tooltip "$exif_tooltip_text"
template footer "$page_num-$preview_num.html" \
html_dir "$html_dir" \
backhref "$backhref" \