{"id":1501,"date":"2026-02-09T22:43:50","date_gmt":"2026-02-09T22:43:50","guid":{"rendered":"https:\/\/lnx.osservatoriofeynman.eu\/f0.7\/?page_id=1501"},"modified":"2026-02-10T18:13:19","modified_gmt":"2026-02-10T18:13:19","slug":"fotodiario-f-0-7","status":"publish","type":"page","link":"https:\/\/lnx.osservatoriofeynman.eu\/f0.7\/fotodiario-f-0-7\/","title":{"rendered":"FOTODIARIO f\/0.7"},"content":{"rendered":"\n<section id=\"sio-gallery\" style=\"max-width:980px;margin:24px auto;padding:0 12px;\">\n  <div id=\"sio-gallery-meta\" style=\"font-size:0.9em;opacity:0.8;\"><\/div>\n  <div id=\"sio-gallery-grid\" style=\"\n      display:grid;\n      grid-template-columns:repeat(auto-fill,minmax(220px,1fr));\n      gap:10px;\n      margin-top:10px;\">\n  <\/div>\n<\/section>\n\n<div id=\"sio-lb\" style=\"\n  position:fixed; inset:0; display:none; align-items:center; justify-content:center;\n  background:rgba(0,0,0,0.78); z-index:999999; padding:24px;\">\n  <div style=\"max-width:min(1100px,96vw); max-height:92vh;\">\n    <img decoding=\"async\" id=\"sio-lb-img\" src=\"\" alt=\"\" style=\"width:100%;height:auto;max-height:82vh;display:block;margin:auto;\">\n    <div id=\"sio-lb-cap\" style=\"color:#fff;margin-top:10px;font-size:0.95em;line-height:1.3;\"><\/div>\n  <\/div>\n<\/div>\n\n<script>\n(function(){\n  var BASE = \"\/f0.7\/wp-content\/uploads\";\n  var MANIFEST = \"\/f0.7\/wp-content\/uploads\/SIO_gallery\/gallery.json\";\n  var MAX_ITEMS = 120;      \/\/ quanti elementi mostrare\n  var REFRESH_MS = 60000;   \/\/ refresh manifest ogni 60s (puoi mettere 0 per disattivare)\n\n  var grid = document.getElementById(\"sio-gallery-grid\");\n  var meta = document.getElementById(\"sio-gallery-meta\");\n\n  var lb = document.getElementById(\"sio-lb\");\n  var lbImg = document.getElementById(\"sio-lb-img\");\n  var lbCap = document.getElementById(\"sio-lb-cap\");\n\n  if(!grid || !meta || !lb || !lbImg || !lbCap) return;\n\n  function esc(s){\n    return String(s).replace(\/[&<>\\\"\\']\/g, function(c){\n      return ({\"&\":\"&amp;\",\"<\":\"&lt;\",\">\":\"&gt;\",\"\\\"\":\"&quot;\",\"\\'\":\"&#39;\"}[c]);\n    });\n  }\n\n  function normalize(p){\n    p = String(p || \"\");\n    if(!p) return \"\";\n    if(p.indexOf(\"\/SIO_gallery\/\") === 0) return BASE + p;              \/\/ legacy\n    if(p.indexOf(\"\/f0.7\/wp-content\/uploads\/\") === 0) return p;         \/\/ ok\n    if(\/^https?:\\\/\\\/\/i.test(p)) return p;                            \/\/ assoluto\n    if(p[0] !== \"\/\") return \"\/\" + p;\n    return p;\n  }\n\n  function openLightbox(viewUrl, fullUrl, title, caption, ts){\n    lbImg.src = viewUrl;\n    lbImg.alt = title || \"\";\n\n    var html = \"\";\n    if(title) html += esc(title);\n    if(caption) html += (title ? \"<br>\" : \"\") + \"<span style=\\\"opacity:0.9\\\">\" + esc(caption) + \"<\/span>\";\n    if(ts) html += \"<br><span style=\\\"opacity:0.75;font-size:0.9em;\\\">\" + esc(ts) + \"<\/span>\";\n    if(fullUrl) html += \"<br><a href=\\\"\" + esc(fullUrl) + \"\\\" target=\\\"_blank\\\" rel=\\\"noopener\\\" style=\\\"color:#fff;text-decoration:underline;opacity:0.9;\\\">Apri originale<\/a>\";\n\n    lbCap.innerHTML = html;\n    lb.style.display = \"flex\";\n  }\n\n  function closeLightbox(){\n    lb.style.display = \"none\";\n    lbImg.src = \"\";\n    lbImg.alt = \"\";\n    lbCap.innerHTML = \"\";\n  }\n\n  lb.addEventListener(\"click\", closeLightbox);\n  document.addEventListener(\"keydown\", function(e){\n    if(e.key === \"Escape\") closeLightbox();\n  });\n\n  function render(m){\n    var items = (m.items || []).slice(0, MAX_ITEMS);\n\n    meta.textContent = m.updated_utc ? (\"Ultimo aggiornamento (UTC): \" + m.updated_utc) : \"\";\n\n    if(!items.length){\n      grid.innerHTML = \"<div>Nessuna immagine disponibile.<\/div>\";\n      return;\n    }\n\n    grid.innerHTML = items.map(function(it){\n      var thumb = normalize(it.thumb);\n      var view  = normalize(it.view || it.full);\n      var full  = normalize(it.full || \"\");\n      var title = it.title || \"\";\n      var cap   = it.author || \"\";\n      var ts    = it.ts_utc || \"\";\n\n      \/\/ anti-duplicazione: se caption = title, non mostrarla\n      if(cap && title && cap.trim() === title.trim()) cap = \"\";\n\n      return \"\"\n      + \"<figure style=\\\"margin:0;border:1px solid rgba(0,0,0,0.15);padding:6px;\\\">\"\n      +   \"<a href=\\\"\" + esc(view) + \"\\\"\"\n      +      \" data-view=\\\"\" + esc(view) + \"\\\"\"\n      +      \" data-full=\\\"\" + esc(full) + \"\\\"\"\n      +      \" data-title=\\\"\" + esc(title) + \"\\\"\"\n      +      \" data-caption=\\\"\" + esc(cap) + \"\\\"\"\n      +      \" data-ts=\\\"\" + esc(ts) + \"\\\"\"\n      +      \" style=\\\"display:block;\\\">\"\n      +     \"<img src=\\\"\" + esc(thumb) + \"\\\" alt=\\\"\" + esc(title) + \"\\\" loading=\\\"lazy\\\"\"\n      +          \" style=\\\"width:100%;height:180px;object-fit:cover;display:block;\\\">\"\n      +   \"<\/a>\"\n      +   \"<figcaption style=\\\"font-size:0.85em;margin-top:6px;\\\">\"\n      +     (title ? esc(title) : \"\")\n      +     (cap ? (title ? \"<br>\" : \"\") + \"<span style=\\\"opacity:0.8;\\\">\" + esc(cap) + \"<\/span>\" : \"\")\n      +   \"<\/figcaption>\"\n      + \"<\/figure>\";\n    }).join(\"\");\n\n    var links = grid.querySelectorAll(\"a[data-view]\");\n    for(var i=0;i<links.length;i++){\n      links[i].addEventListener(\"click\", function(e){\n        e.preventDefault();\n        openLightbox(\n          this.dataset.view || \"\",\n          this.dataset.full || \"\",\n          this.dataset.title || \"\",\n          this.dataset.caption || \"\",\n          this.dataset.ts || \"\"\n        );\n      });\n    }\n  }\n\n  function loadOnce(){\n    fetch(MANIFEST + \"?t=\" + Date.now(), { cache: \"no-store\" })\n      .then(function(res){\n        if(!res.ok) throw new Error(\"HTTP \" + res.status);\n        return res.json();\n      })\n      .then(function(m){\n  if (m.items && m.items.length > 1) {\n    for (var i = m.items.length - 1; i > 0; i--) {\n      var j = Math.floor(Math.random() * (i + 1));\n      var tmp = m.items[i];\n      m.items[i] = m.items[j];\n      m.items[j] = tmp;\n    }\n  }\n  render(m);\n})\n      .catch(function(e){\n        meta.textContent = \"Errore caricamento gallery: \" + (e && e.message ? e.message : \"unknown\");\n      });\n  }\n\n  function loop(){\n    loadOnce();\n    if(REFRESH_MS > 0){\n      setTimeout(loop, REFRESH_MS);\n    }\n  }\n\n  loop();\n})();\n<\/script>\n\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"ngg_post_thumbnail":0,"footnotes":""},"class_list":["post-1501","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/lnx.osservatoriofeynman.eu\/f0.7\/wp-json\/wp\/v2\/pages\/1501","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lnx.osservatoriofeynman.eu\/f0.7\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/lnx.osservatoriofeynman.eu\/f0.7\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/lnx.osservatoriofeynman.eu\/f0.7\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/lnx.osservatoriofeynman.eu\/f0.7\/wp-json\/wp\/v2\/comments?post=1501"}],"version-history":[{"count":7,"href":"https:\/\/lnx.osservatoriofeynman.eu\/f0.7\/wp-json\/wp\/v2\/pages\/1501\/revisions"}],"predecessor-version":[{"id":1513,"href":"https:\/\/lnx.osservatoriofeynman.eu\/f0.7\/wp-json\/wp\/v2\/pages\/1501\/revisions\/1513"}],"wp:attachment":[{"href":"https:\/\/lnx.osservatoriofeynman.eu\/f0.7\/wp-json\/wp\/v2\/media?parent=1501"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}