// Fix image URLs on page load (for existing pages with GitHub URLs) (function() { function normalizeImageUrl(imageUrl) { if (!imageUrl) return null; if (imageUrl.startsWith('data:')) return imageUrl; const baseUrl = window.location.origin; if (imageUrl.includes('raw.githubusercontent.com')) { const urlParts = imageUrl.split('/'); const filename = urlParts[urlParts.length - 1]; if (filename.startsWith('blog-')) { return baseUrl + '/images/blog/' + filename; } const blogIndex = urlParts.findIndex(part => part === 'blog'); if (blogIndex > -1 && blogIndex < urlParts.length - 1) { return baseUrl + '/images/blog/' + urlParts[urlParts.length - 1]; } return imageUrl; } if (imageUrl.startsWith('http://') || imageUrl.startsWith('https://')) return imageUrl; if (imageUrl.startsWith('/')) { if (imageUrl.startsWith('/images/blog/') || imageUrl.startsWith('/valleytainment_final_working_v2/images/blog/')) { return baseUrl + imageUrl; } return baseUrl + imageUrl; } if (!imageUrl.startsWith('/') && !imageUrl.includes('://')) { if (imageUrl.match(/\.(jpg|jpeg|png|gif|webp|svg)$/i)) { return baseUrl + '/images/blog/' + imageUrl; } return baseUrl + '/images/blog/' + imageUrl; } return imageUrl; } function fixImageUrls() { const postImages = document.querySelectorAll('.post-image, .featured-image-section img'); postImages.forEach(img => { const originalSrc = img.src; const normalizedSrc = normalizeImageUrl(originalSrc); if (normalizedSrc && normalizedSrc !== originalSrc) { console.log('🔄 Normalizing image URL:', originalSrc, '→', normalizedSrc); img.src = normalizedSrc; } img.addEventListener('error', function() { console.log('❌ Image failed to load:', this.src); if (originalSrc.includes('raw.githubusercontent.com')) { const urlParts = originalSrc.split('/'); const filename = urlParts[urlParts.length - 1]; const fallbackUrl = window.location.origin + '/images/blog/' + filename; if (this.src !== fallbackUrl) { console.log('🔄 Trying fallback URL:', fallbackUrl); this.src = fallbackUrl; return; } } this.style.display = 'none'; const placeholder = document.createElement('div'); placeholder.className = 'post-image-placeholder'; placeholder.style.cssText = 'width: 100%; height: 400px; background: linear-gradient(135deg, rgba(0, 255, 221, 0.2), rgba(147, 112, 219, 0.2)); display: flex; align-items: center; justify-content: center; color: rgba(0, 255, 221, 0.6); font-size: 4rem;'; placeholder.textContent = '📝'; this.parentNode.insertBefore(placeholder, this.nextSibling); }); }); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', fixImageUrls); } else { fixImageUrls(); } })();