Popular Post js for Random 8 latest (Label) Legendary post (place inside script)

// RANDOMIZED POPULAR POSTS FUNCTION (32 posts, 4 sets of 8) async function loadPopularPosts() { const popularContainer = document.getElementById("popular-posts"); popularContainer.innerHTML = "

Loading Popular Anime...

"; // Fetch up to 32 posts (4 sets of 8) let allUrl = `https://rithickkrish.blogspot.com/feeds/posts/default/-/Legendary?alt=json&max-results=32`; try { let res = await fetch(allUrl); let data = await res.json(); if (!data.feed.entry) { popularContainer.innerHTML = "

No popular posts found.

"; return; } let allLegendaryPosts = data.feed.entry.map(post => { let title = post.title.$t; let link = post.link.find(l => l.rel === "alternate").href; let thumb = "https://via.placeholder.com/65x95?text=Popular"; if ("media$thumbnail" in post) { thumb = post.media$thumbnail.url.replace("/s72-c/", "/s400/"); } return { title, link, thumb }; }); // Shuffle posts randomly (Fisher–Yates shuffle) for (let i = allLegendaryPosts.length - 1; i > 0; i--) { const j = Math.floor(Math.random() * (i + 1)); [allLegendaryPosts[i], allLegendaryPosts[j]] = [allLegendaryPosts[j], allLegendaryPosts[i]]; } // Take first 8 posts from shuffled list let popularPosts = allLegendaryPosts.slice(0, 8); // Build DOM efficiently popularContainer.innerHTML = ""; const fragment = document.createDocumentFragment(); popularPosts.forEach(post => { const link = document.createElement("a"); link.href = post.link; link.className = "popular-link"; link.innerHTML = ` `; fragment.appendChild(link); }); popularContainer.appendChild(fragment); } catch (error) { popularContainer.innerHTML = "

Error loading popular posts.

"; console.error('Error loading popular posts:', error); } } document.addEventListener('DOMContentLoaded', loadPopularPosts);

Popular posts from this blog

Home page with Popular post

Post speed Test best per 82, access 87, best pract, 97 ,seo 85