levineuwirth.org/static
Levi Neuwirth 1027b88429 Rich reference popups: arXiv lead figures, prominent Wikipedia images
Reference popups (provider-rendered: arXiv, Wikipedia, CrossRef, …)
get a glanceable layout: wider container (560px), larger title and
body type, and a full-width image banner under the source label.
Internal page previews and item-card popups (new/library pages) keep
the compact layout — the shared popup element toggles
.link-popup--rich per show based on the rendered content.

- arXiv: a new best-effort enrich step fetches the paper's LaTeXML
  HTML rendition and pulls the first figure as a lead image. Enrich is
  time-boxed (1.8s) so the metadata popup is never held hostage; late
  results refresh the cache for the next hover. Figures letterbox with
  object-fit: contain (plots must not crop); Wikipedia photos
  cover-crop with an upper focal point. width/height attrs reserve
  aspect ratio so positioning is stable before the image loads.
- Wikipedia thumbnails request 480px for the banner width.
- nginx: new ^~ /proxy/arxiv-html/ location backed by arxiv.org proper
  (export.arxiv.org serves the Atom API but 429s the /html/ asset
  tree); 404s cached 1d (the common no-HTML-rendition case). All four
  proxy locations switched to ^~ — without it, static-assets.conf's
  per-extension regex location outranks plain prefixes and serves a
  local 404 for any proxied URL ending in an image extension, which is
  exactly how the first figure fetch failed.

Installed and verified live: proxied page (200, 298KB), figure (200
image/png), API unchanged, no-rendition 404 path; the full client
resolution chain (relative src -> proxy path -> guard -> image)
validated against production.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-10 13:02:15 -04:00
..
css Rich reference popups: arXiv lead figures, prominent Wikipedia images 2026-06-10 13:02:15 -04:00
fonts initial deploy! whoop 2026-03-17 21:56:14 -04:00
gpg GPG signing, embedding pipeline, visualization filter, search timing, sig popups 2026-03-20 20:14:49 -04:00
images Tooling, manifest, and content polish 2026-06-10 11:13:34 -04:00
js Rich reference popups: arXiv lead figures, prominent Wikipedia images 2026-06-10 13:02:15 -04:00
papers Branch preprint 2026-05-06 12:21:59 -04:00
templates Marks I 2026-05-07 23:51:14 -04:00
apple-touch-icon.png Branding: traced logo mark, regenerated favicons, og-image 2026-06-09 18:57:34 -04:00
cv.pdf Internal audit 2026-05-07 17:20:27 -04:00
cv.thumb.png Fix popup previews: proxy prefix-strip bug, arXiv IDs, Wikipedia images 2026-06-10 12:06:13 -04:00
favicon-96x96.png Branding: traced logo mark, regenerated favicons, og-image 2026-06-09 18:57:34 -04:00
favicon.ico Branding diet: logo sprite via <use>, lean favicon.ico, simple mask icon 2026-06-10 10:43:06 -04:00
favicon.svg Branding: traced logo mark, regenerated favicons, og-image 2026-06-09 18:57:34 -04:00
logo-sprite.svg Branding diet: logo sprite via <use>, lean favicon.ico, simple mask icon 2026-06-10 10:43:06 -04:00
og-image.png Branding: traced logo mark, regenerated favicons, og-image 2026-06-09 18:57:34 -04:00
resume.pdf Internal audit 2026-05-07 17:20:27 -04:00
resume.thumb.png Fix popup previews: proxy prefix-strip bug, arXiv IDs, Wikipedia images 2026-06-10 12:06:13 -04:00
site.webmanifest Tooling, manifest, and content polish 2026-06-10 11:13:34 -04:00
web-app-manifest-192x192.png Branding: traced logo mark, regenerated favicons, og-image 2026-06-09 18:57:34 -04:00
web-app-manifest-512x512.png Branding: traced logo mark, regenerated favicons, og-image 2026-06-09 18:57:34 -04:00