diff options
| author | erdgeist <erdgeist@erdgeist.org> | 2026-07-21 14:24:59 +0200 |
|---|---|---|
| committer | erdgeist <erdgeist@erdgeist.org> | 2026-07-21 14:24:59 +0200 |
| commit | c14683fe37fabe06082f43e8bf67debc4cca7297 (patch) | |
| tree | 10054588f053cf071a55df067180091d3388e05a /app/views/content/_asset_credits.html.erb | |
| parent | 1912b8fbf0e1e1ea84a89c033e20e34235d19cce (diff) | |
Render asset credit inside the gallery lightbox correctly
GLightbox's own selector-based description feature never actually
resolved a selector in three different attempts -- literal text,
then a resolved-but-empty div, then apparently not firing at all
against the installed (unversioned) build. Replaced with a small
afterSlideLoad handler that reads a plain data-credit-selector
attribute and copies the real element's HTML into the slide's
description area directly, depending only on GLightbox handing back
a real DOM node per slide -- a much smaller contract than trusting
its own caption-resolution feature.
Renamed the credit div's class from glightbox-desc, since that name
is reserved by the library's own bundled CSS (display: none
!important) and can't be reliably overridden from here.
Also: distinguishes the credit line and the "N Bilder" caption from
ordinary body text (italic, muted, matching .author_and_date's
existing convention), and makes the lightbox's caption card follow
the site's light/dark toggle via Canvas/CanvasText, since the
library's bundled theme never adapts to it on its own.
Diffstat (limited to 'app/views/content/_asset_credits.html.erb')
| -rw-r--r-- | app/views/content/_asset_credits.html.erb | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/app/views/content/_asset_credits.html.erb b/app/views/content/_asset_credits.html.erb index 85739d09..5959abd1 100644 --- a/app/views/content/_asset_credits.html.erb +++ b/app/views/content/_asset_credits.html.erb | |||
| @@ -1,11 +1,9 @@ | |||
| 1 | <% if @page.assets.images.any? %> | 1 | <% if @page.assets.images.any? %> |
| 2 | <div id="asset_credits"> | 2 | <div id="asset_credits"> |
| 3 | <% @page.assets.images.each do |image| %> | 3 | <% @page.assets.images.each do |image| %> |
| 4 | <% credit = asset_credit(image) %> | ||
| 5 | <% next unless credit %> | ||
| 6 | <div id="credit_for_asset_<%= image.id %>" | 4 | <div id="credit_for_asset_<%= image.id %>" |
| 7 | class="glightbox-desc<%= " headline_credit" if image == @headline_asset %>"> | 5 | class="asset_credit_block<%= " headline_credit" if image == @headline_asset %>"> |
| 8 | <%= credit %> | 6 | <%= asset_credit(image) %> |
| 9 | </div> | 7 | </div> |
| 10 | <% end %> | 8 | <% end %> |
| 11 | </div> | 9 | </div> |
