On Chris Duarte's 3rd visit to Don Odell's Legends Art & Chris talk about writing new music
Chris Duarte: Don Odell's Legends - interview and live performances 2015
// {
// Skip if we've already fixed it or are currently processing it
if (thumb.dataset.status) return;
let parentLink = thumb.closest('a');
if (!parentLink || !parentLink.href) return;
// Extract the path (e.g., /2026/07/post-title.html)
let urlObj = new URL(parentLink.href);
let path = urlObj.pathname;
// Ensure it's a standard post URL (ignores /p/about.html etc.)
if (!path.match(/\/\d{4}\/\d{2}\/.*\.html/)) return;
// Mark as processing so we don't spam the API with duplicate requests
thumb.dataset.status = "processing";
// Fetch the exact JSON data for THIS SPECIFIC post only
fetch('/feeds/posts/default?alt=json&path=' + path)
.then(response => response.json())
.then(data => {
if (data.feed && data.feed.entry && data.feed.entry.length > 0) {
let content = data.feed.entry[0].content ? data.feed.entry[0].content.$t : "";
// Regex catches youtube.com, youtu.be, nocookie, and shorts
let ytMatch = content.match(/(?:youtube(?:-nocookie)?\.com\/(?:embed\/|v\/|watch\?v=|shorts\/)|youtu\.be\/)([a-zA-Z0-9_-]{11})/);
if (ytMatch && ytMatch[1]) {
let videoId = ytMatch[1];
let hqThumb = "https://img.youtube.com/vi/" + videoId + "/hqdefault.jpg";
thumb.style.backgroundImage = "url('" + hqThumb + "')";
}
}
// Mark as complete
thumb.dataset.status = "done";
})
.catch(err => {
console.log("Failed to fetch data for " + path, err);
thumb.dataset.status = "error";
});
});
}
// Run once on load
fixThumbnails();
// Check every 2 seconds (safeguard in case Emporio dynamically loads UI elements late)
setInterval(fixThumbnails, 2000);
});
//]]>