แน่นอนครับ/ค่ะ! อย่าลืมเช็คเกมต่างๆ ในร้านค้าออนไลน์ชื่อดังเช่น "Steam" และ "Epic Games Store" เพื่อค้นหาเกมที่เข้ากับความสนใจและความพอใจของคุณ! ลงทะเบียนเพื่อรับข้อมูลอัพเดทและโปรโมชั่นพิเศษได้ด้วยนะครับ/ค่ะ! อย่าลืมบุ๊กมาร์กเพจหรือเกมที่ชอบเพื่อไม่พลาดข่าวสารและการอัพเดทล่าสุดด้วยครับ/ค่ะ! สนุกกับการเล่นเกมนะครับ/ค่ะ!
Ufaza Ufagool Sexy365bet mahagame66 Lockdown168 UFAC4 boston777 Hydra888 Kingdom66 lotto432 slot6666 ufazeed ufa1688 คาสิโน บาคาร่า แทงบอล หวยลาว สล็อตเว็บตรง สล็อต

Collations Generator

:root{–bg:#f5f5f7;–panel:#ffffff;–panel-2:#fbfbfc;–text:#1d1d1f;–muted:#86868b;–accent:#0071e3;–accent-hover:#0077ED;–danger:#ff3b30;–success:#34c759;–warning:#f59e0b;–border:#d2d2d7;–radius:16px;–shadow-sm:0 2px 8px rgba(0,0,0,0.04);–shadow-lg:0 10px 30px rgba(0,0,0,0.06),0 1px 4px rgba(0,0,0,0.02);–font-stack:-apple-system,BlinkMacSystemFont,”SF Pro Text”,”Segoe UI”,Roboto,Helvetica,Arial,sans-serif}.Avm-note{background:#ffffff;border-left:4px solid var(–accent);padding:16px 20px;border-radius:8px;margin-bottom:24px;font-size:0.95rem;color:var(–text);box-shadow:var(–shadow-sm)}.Avm-btn{border:none;border-radius:10px;padding:12px 20px;cursor:pointer;font-weight:600;font-size:0.95rem;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:all 0.2s ease;font-family:inherit}.Avm-btn:active{transform:scale(0.97)}.Avm-btn-primary{background:var(–accent);color:white;margin-bottom:10px}.Avm-btn-primary:hover{background:var(–accent-hover);box-shadow:0 4px 14px rgba(0,113,227,0.3)}.Avm-btn-secondary{background:#e8e8ed;color:var(–text)}.Avm-btn-secondary:hover{background:#d2d2d7}.Avm-btn-danger{background:var(–danger);color:white}.Avm-btn-danger:hover{box-shadow:0 4px 14px rgba(255,59,48,0.3)}.Avm-btn-success{background:var(–success);color:white}.Avm-btn-success:hover{box-shadow:0 4px 14px rgba(52,199,89,0.3)}.Avm-btn:disabled{opacity:0.5;cursor:not-allowed;box-shadow:none}.Avm-card{padding:32px;box-shadow:var(–shadow-lg);margin-bottom:32px;border:1px solid var(–border);border-radius:14px}.Avm-card h2{margin-top:0;font-size:1.4rem;font-weight:600;letter-spacing:-0.3px;margin-bottom:24px;border-bottom:1px solid #f0f0f0;padding-bottom:16px}.Avm-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:20px}@media (max-width:720px){.Avm-grid-2{grid-template-columns:1fr}}.Avm-main-grid{display:grid;grid-template-columns:1fr 450px;gap:32px;align-items:start}@media (max-width:1000px){.Avm-main-grid{grid-template-columns:1fr}.Avm-json-output{position:static}}.Avm-wrap label{display:block;font-size:0.75rem;font-weight:600;text-transform:uppercase;letter-spacing:0.6px;color:var(–muted);margin-bottom:8px;margin-top:16px}.Avm-wrap input[type=”text”],.Avm-wrap input[type=”number”],.Avm-wrap textarea,.Avm-wrap select{width:100%;padding:14px 16px;border-radius:12px;border:1px solid var(–border);background:#ffffff;color:var(–text);font-size:1rem;font-family:inherit;transition:all 0.2s ease}.Avm-wrap input:focus,.Avm-wrap textarea:focus,.Avm-wrap select:focus{outline:none;border-color:var(–accent);box-shadow:0 0 0 4px rgba(0,113,227,0.15)}.Avm-wrap textarea{min-height:80px;resize:vertical}.Avm-settings-row{display:flex;gap:16px;flex-wrap:wrap;align-items:flex-end}.Avm-settings-row > div{flex:1;min-width:220px}.Avm-search-wrap{position:sticky;top:20px;z-index:10;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);padding:24px;border-radius:var(–radius);box-shadow:var(–shadow-sm);margin-bottom:24px;border:1px solid rgba(0,0,0,0.06)}.Avm-filter-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.Avm-tag{background:#f1f5f9;border:1px solid transparent;border-radius:20px;padding:6px 14px;font-size:0.85rem;font-weight:500;cursor:pointer;color:var(–text);transition:all 0.2s ease}.Avm-tag:hover{background:#e2e8f0}.Avm-tag.Avm-active{background:#ff0000;color:#ffffff}.Avm-stats{display:flex;gap:16px;flex-wrap:wrap;margin-top:16px;margin-bottom:24px}.Avm-stat{background:var(–panel-2);border-radius:12px;padding:16px;min-width:140px;text-align:center;border:1px solid rgba(0,0,0,0.03)}.Avm-stat b{display:block;font-size:1.8rem;font-weight:700;color:var(–text)}.Avm-stat span{font-size:0.8rem;font-weight:500;color:var(–muted);text-transform:uppercase;letter-spacing:0.5px}.Avm-post-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;max-height:500px;overflow-y:auto;padding-right:8px;padding-bottom:10px}.Avm-post-card{border-radius:14px;overflow:hidden;cursor:pointer;transition:all 0.2s ease;position:relative}.Avm-post-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px rgba(0,0,0,0.08);border-color:var(–accent)}.Avm-post-card img{width:100%;height:300px;object-fit:cover;background:#f1f5f9;display:block;border-bottom:1px solid rgba(0,0,0,0.05)}.Avm-post-card .Avm-pbody{padding:14px}.Avm-post-card .Avm-ptitle{font-size:0.9rem;font-weight:600;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(–text)}.Avm-post-card .Avm-plabels{font-size:0.75rem;color:var(–muted);margin-top:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.Avm-post-card .Avm-add-icon{position:absolute;top:8px;right:8px;width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,0.9);backdrop-filter:blur(4px);color:var(–text);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1.2rem;box-shadow:0 2px 8px rgba(0,0,0,0.1);transition:all 0.2s ease}.Avm-post-card:hover .Avm-add-icon{background:var(–accent);color:white}.Avm-collection{border:1px solid var(–border);border-radius:14px;margin-bottom:20px;overflow:hidden;box-shadow:var(–shadow-sm);transition:all 0.3s ease}.Avm-collection-header{border-bottom:1px solid var(–border);padding:16px 24px;display:flex;justify-content:space-between;align-items:center;gap:16px;cursor:pointer;transition:background 0.2s}.Avm-collection-header:hover{background:#f5f5f7}.Avm-collection-header .Avm-title{font-weight:600;font-size:1.1rem;color:var(–text)}.Avm-collection-header .Avm-meta{color:var(–muted);font-size:0.85rem;margin-top:4px}.Avm-collection-header .Avm-btn-danger{position:relative;z-index:5;padding:8px 14px;font-size:0.85rem}.Avm-collection-body{padding:24px;display:none}.Avm-collection.Avm-open .Avm-collection-body{display:block}.Avm-collection.Avm-open .Avm-toggle-icon{transform:rotate(180deg)}.Avm-preview-img{width:100%;height:140px;object-fit:cover;border-radius:10px;background:#f1f5f9;margin-top:12px;display:none;border:1px solid rgba(0,0,0,0.05)}.Avm-preview-img[src]:not([src=””]){display:block}.Avm-game-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px;margin-top:20px}.Avm-game-card{background:var(–panel-2);border:1px solid var(–border);border-radius:12px;padding:16px;position:relative}.Avm-game-card img{width:100%;height:320px;object-fit:cover;border-radius:8px;background:#e2e8f0;margin-bottom:12px}.Avm-game-card input{margin-top:4px;padding:10px 12px;font-size:0.9rem;margin-bottom:8px}.Avm-game-card .Avm-delete-game{position:absolute;top:-8px;right:-8px;width:28px;height:28px;border-radius:50%;border:none;background:#ff0000;color:white;cursor:pointer;font-size:1rem;z-index:5;box-shadow:0 4px 10px rgba(0,0,0,0.15);transition:background 0.2s}.Avm-game-card .Avm-delete-game:hover{background:var(–danger)}.Avm-json-output{position:sticky;top:20px;border:1px solid var(–border);border-radius:14px}.Avm-wrap pre{background:#1e1e1e;color:#d4d4d4;border-radius:12px;padding:24px;overflow-x:auto;white-space:pre-wrap;word-wrap:break-word;max-height:55vh;font-size:0.85rem;font-family:”SF Mono”,Consolas,Menlo,monospace;border:none;box-shadow:inset 0 2px 10px rgba(0,0,0,0.2)}.Avm-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}.Avm-toast{position:fixed;bottom:30px;right:30px;background:var(–text);color:#ffffff;padding:16px 24px;border-radius:12px;font-weight:600;box-shadow:0 10px 30px rgba(0,0,0,0.15);transform:translateY(120px);transition:transform 0.3s cubic-bezier(0.175,0.885,0.32,1.275);z-index:999}.Avm-toast.Avm-show{transform:translateY(0)}.Avm-empty{color:var(–muted);text-align:center;padding:40px;font-weight:500}.Avm-hint{font-size:0.8rem;color:var(–muted);margin-top:8px}.Avm-hidden-file{display:none}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#d2d2d7;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#86868b}

1. Connect Your Blogger Blog

The feed URL used:

For big blogs (1000+ posts): Use the “Search Blog” button below instead of loading all posts.

3. Your Collections

No collections yet. Add one above.

Generated Code

Single collection only (paste into existing ZG_COLLECTIONS)
Full script: window.ZG_COLLECTIONS = {…}

Paste this collection into your existing window.ZG_COLLECTIONS = { ... } object.




let data=JSON.parse(localStorage.getItem(“zg_blogger_collections”)||”{}”),allPosts=[],displayedPosts=[],activeLabel=””;
function uid(){return Date.now().toString(36)+Math.random().toString(36).substr(2,5)}
function sanitizeId(e){return(e||”collection”).toLowerCase().replace(/[^a-z0-9]+/g,”_”).replace(/^_+|_+$/g,””).substring(0,40)||”col”}
function stripMarkdownLink(e){if(!e)return””;const t=e.trim().match(/^[.*?]((.*?))$/);return t?t[1]:e.trim()}
function toast(e){const t=document.getElementById(“toast”);t.textContent=e,t.classList.add(“Avm-show”),setTimeout((()=>t.classList.remove(“Avm-show”)),2200)}
function persist(){localStorage.setItem(“zg_blogger_collections”,JSON.stringify(data)),updateJSONPreview(),updateTargetCollection()}
function save(){persist(),render()}
function escapeHtml(e){return String(e??””).replace(/[&”‘]/g,(e=>({“&”:”&”,””:”>”,'”‘:”"”,”‘”:”'”}[e])))}
function getOriginalImage(e){return e?e.replace(//sd+//g,”/s0/”).replace(//wd+//g,”/s0/”):””}
function updateTargetCollection(){const e=document.getElementById(“targetCollection”);if(!e)return;const t=Object.keys(data);if(!t.length)return void(e.innerHTML=’– No collections yet –‘);let n=e.value;n&&t.includes(n)||(n=t[0]),e.innerHTML=t.map((e=>`${escapeHtml(data[e].name||e)}`)).join(“”)}
function normalizeBlogUrl(e){return(e=e.trim())?(e.startsWith(“http”)||(e=”https://”+e),e=e.replace(//$/,””)):””}
let currentFetch={blogUrl:””,max:500,label:””,start:1,total:0,btn:null};
function fetchPosts(){const e=normalizeBlogUrl(document.getElementById(“blogUrl”).value);if(!e)return void alert(“Enter your Blogger URL first”);const t=Math.min(parseInt(document.getElementById(“maxResults”).value)||500,500),n=document.getElementById(“requiredLabel”).value.trim();currentFetch={blogUrl:e,max:t,label:n,start:1,total:0,btn:document.getElementById(“fetchBtn”)},allPosts=[],displayedPosts=[],currentFetch.btn.disabled=!0,document.getElementById(“fetchStatus”).textContent=”Loading page 1…”,document.getElementById(“searchCard”).style.display=”none”,fetchPage()}
function fetchPage(){const{blogUrl:e,max:t,label:n,start:l}=currentFetch;let a=`${e}/feeds/posts/default?alt=json-in-script&max-results=${t}&start-index=${l}`;n&&(a+=`&category=${encodeURIComponent(n)}`),document.getElementById(“feedUrl”).textContent=a;const o=”bloggerFeed_”+Date.now()+”_”+l,s=document.createElement(“script”);window[o]=function(e){delete window[o],s.parentNode&&s.parentNode.removeChild(s);const n=parseInt(e?.feed?.openSearch$totalResults?.$t||0);currentFetch.total=n;const l=e?.feed?.entry||[];appendEntries(l);const a=allPosts.length;if(a0){currentFetch.start+=t;const e=Math.ceil(currentFetch.start/t);document.getElementById(“fetchStatus”).textContent=`Loaded ${a} of ${n} posts… (page ${e})`,fetchPage()}else finishFetch()},s.src=a+”&callback=”+o,s.onerror=()=>{delete window[o],currentFetch.btn.disabled=!1,document.getElementById(“fetchStatus”).textContent=”Error loading feed. Check URL/labels.”,alert(“Could not load Blogger feed. Make sure the URL is correct and the blog is public.”)},document.body.appendChild(s)}
function appendEntries(e){e.forEach((e=>{const t=e.title?.$t||”Untitled”,n=(e.link||[]).find((e=>”alternate”===e.rel))?.href||””,l=(e.category||[]).map((e=>e.term)).filter(Boolean),a=(e.content?.$t||e.summary?.$t||””).replace(/]+>/g,” “).replace(/s+/g,” “).toLowerCase();let o=””;if(e.content?.$t){const t=e.content.$t.match(/]+src=[“‘]([^”‘]+)[“‘]/i);t&&(o=getOriginalImage(t[1]))}if(!o&&e.summary?.$t){const t=e.summary.$t.match(/]+src=[“‘]([^”‘]+)[“‘]/i);t&&(o=getOriginalImage(t[1]))}!o&&e.media$thumbnail?.url&&(o=e.media$thumbnail.url),allPosts.push({title:t,url:n,image:o,labels:l,content:a})}))}
function finishFetch(){currentFetch.btn.disabled=!1,document.getElementById(“fetchStatus”).textContent=`Loaded all ${allPosts.length} posts.`,document.getElementById(“searchCard”).style.display=”block”,buildLabelFilters(),filterPosts(),toast(“All posts loaded!”)}
function searchBlogger(){const e=normalizeBlogUrl(document.getElementById(“blogUrl”).value);if(!e)return void alert(“Enter your Blogger URL first”);const t=document.getElementById(“searchInput”).value.trim();if(!t)return void alert(“Type a search keyword first (e.g. Forza)”);const n=Math.min(parseInt(document.getElementById(“maxResults”).value)||500,500);let l=`${e}/feeds/posts/default?q=${encodeURIComponent(t)}&alt=json-in-script&max-results=${n}`;document.getElementById(“feedUrl”).textContent=l;const a=document.getElementById(“searchBtn”);a.disabled=!0,document.getElementById(“fetchStatus”).textContent=`Searching Blogger for “${t}”…`;const o=”bloggerSearch_”+Date.now(),s=document.createElement(“script”);window[o]=function(e){delete window[o],s.parentNode&&s.parentNode.removeChild(s),allPosts=[],displayedPosts=[],activeLabel=””,appendEntries(e?.feed?.entry||[]),a.disabled=!1,document.getElementById(“fetchStatus”).textContent=`Search found ${allPosts.length} posts for “${t}”.`,document.getElementById(“searchCard”).style.display=”block”,buildLabelFilters(),filterPosts(),toast(`Found ${allPosts.length} results`)},s.src=l+”&callback=”+o,s.onerror=()=>{delete window[o],a.disabled=!1,document.getElementById(“fetchStatus”).textContent=”Search error. Check URL.”,alert(“Could not search Blogger. Make sure the URL is correct and the blog is public.”)},document.body.appendChild(s)}
function clearSearch(){document.getElementById(“searchInput”).value=””,activeLabel=””,allPosts=[],displayedPosts=[],document.getElementById(“postGrid”).innerHTML=’

Enter a keyword and click Search Blog, or load all posts.

‘,document.getElementById(“stats”).innerHTML=””,document.getElementById(“labelFilters”).innerHTML=””}
function buildLabelFilters(){const e={};allPosts.forEach((t=>t.labels.forEach((t=>e[t]=(e[t]||0)+1))));const t=Object.entries(e).sort(((e,t)=>t[1]-e[1])).slice(0,20),n=document.getElementById(“labelFilters”);t.length?n.innerHTML=`All`+t.map((([e,t])=>`${escapeHtml(e)} (${t})`)).join(“”):n.innerHTML=””}
function setLabel(e){activeLabel=e,buildLabelFilters(),filterPosts()}
function filterPosts(){const e=document.getElementById(“searchInput”).value.toLowerCase().trim();displayedPosts=allPosts.filter((t=>{const n=!activeLabel||t.labels.includes(activeLabel),l=!e||t.title.toLowerCase().includes(e)||t.labels.some((t=>t.toLowerCase().includes(e)))||t.content.includes(e);return n&&l}));document.getElementById(“stats”).innerHTML=`

${allPosts.length}Total Posts
${displayedPosts.length}Showing

`;const t=document.getElementById(“postGrid”);displayedPosts.length?t.innerHTML=displayedPosts.map(((e,t)=>`

+

${escapeHtml(e.title)}
${e.labels.slice(0,3).map(escapeHtml).join(“, “)||”No labels”}

`)).join(“”):t.innerHTML=’

No posts found. Try a different keyword or click Search Blog.

‘}
function addCollection(){const e=”col_”+uid();data[e]={name:”New Collection”,description:””,covers:[],games:[]},save(),setTimeout((()=>document.querySelectorAll(“.Avm-collection”).forEach((t=>{t.dataset.id===e&&t.classList.add(“Avm-open”)}))),10)}
function deleteCollection(e){confirm(“Delete this collection and all its games?”)&&(delete data[e],save())}
function updateCollection(e,t,n){“covers”===t?data[e].covers=n?[getOriginalImage(stripMarkdownLink(n))]:[]:data[e][t]=n}
function toggleCollection(e){e.closest(“.Avm-collection”).classList.toggle(“Avm-open”)}
function getFirstOpenCollectionId(){const e=Object.keys(data);return e.length?e[0]:(toast(“Create a collection first”),null)}
function addGameFromPost(e){const t=displayedPosts[e];if(!t)return;const n=document.getElementById(“targetCollection”)?.value||getFirstOpenCollectionId();n?(data[n].games.push({title:t.title,url:t.url,image:t.image}),save(),toast(`Added “${t.title}” to ${data[n].name}`)):toast(“Create a collection first”)}
function addGame(e){data[e].games.push({title:””,url:””,image:””}),save()}
function updateGame(e,t,n,l){const a=”url”===n||”image”===n?stripMarkdownLink(l):l;data[e].games[t][n]=a}
function deleteGame(e,t){data[e].games.splice(t,1),save()}
function render(){const e=document.getElementById(“collections”),t=document.getElementById(“empty”);e.innerHTML=””;const n=Object.keys(data);t.style.display=n.length?”none”:”block”,n.forEach((t=>{const n=data[t],l=n.covers?.[0]||””,a=document.createElement(“div”);a.className=”Avm-collection Avm-open”,a.dataset.id=t,a.innerHTML=`n

n

n

${escapeHtml(n.name||”Untitled”)}

n

${n.games.length} game${1!==n.games.length?”s”:””}

n

n

n n n

n

n

n

n

n n n

n

n n n n

n

n n nn

Games in this collection

n

Tip: Click any post card above to add it here automatically.

n n

n ${n.games.map(((e,n)=>`n

n n n n n n n n n

n `)).join(“”)}n

n

n `,e.appendChild(a)})),persist()}
function updateJSONPreview(){const e=document.getElementById(“outputMode”)?.value||”single”,t=document.getElementById(“singleCollectionWrap”),n=document.getElementById(“exportCollection”),l=document.getElementById(“outputHint”);if(n){const l=Object.keys(data);let a=n.value;a&&l.includes(a)||(a=l[0]||””),n.innerHTML=l.map((e=>`${escapeHtml(data[e].name||e)}`)).join(“”),t.style.display=”single”===e?”block”:”none”}const a=e=>({name:e.name||””,description:e.description||””,covers:Array.isArray(e.covers)?e.covers.filter(Boolean):[],games:(e.games||[]).map((e=>({title:e.title||””,url:e.url||””,image:e.image||””})))});let o=””;if(“single”===e){const e=n?.value||Object.keys(data)[0];if(!e||!data[e])return document.getElementById(“jsonPreview”).textContent=”// Create or select a collection first”,void(l&&(l.textContent=”Create a collection to generate code.”));o=`${sanitizeId(data[e].name||e)}: ${unquoteKeys(JSON.stringify(a(data[e]),null,2))},`,l&&(l.textContent=”Paste this into your existing window.ZG_COLLECTIONS = { … } object.”)}else{const e={};for(const[t,n]of Object.entries(data)){e[sanitizeId(n.name||t)]=a(n)}o=`window.ZG_COLLECTIONS = ${unquoteKeys(JSON.stringify(e,null,2))};`,l&&(l.textContent=”Paste this full script into your Blogger page in HTML view.”)}document.getElementById(“jsonPreview”).textContent=o}
function unquoteKeys(e){return e.replace(/”([a-zA-Z0-9_]+)”: /g,”$1: “)}
function copyJSON(){const e=document.getElementById(“jsonPreview”).textContent;navigator.clipboard.writeText(e).then((()=>toast(“Code copied!”)))}
function downloadJSON(){const e=document.getElementById(“jsonPreview”).textContent;let t,n;”full”===(document.getElementById(“outputMode”)?.value||”single”)?(t=new Blob([`n${e}n`],{type:”text/html”}),n=”zg-collections.html”):(t=new Blob([e],{type:”text/plain”}),n=”collection-snippet.txt”);const l=document.createElement(“a”);l.href=URL.createObjectURL(t),l.download=n,l.click(),toast(“Downloaded!”)}
function importJSON(){document.getElementById(“fileInput”).click()}
function handleFile(e){const t=e.target.files[0];if(!t)return;const n=new FileReader;n.onload=e=>{try{let t=e.target.result;const n=t.match(/]*>([sS]*?)/i);n&&(t=n[1]);const l=t.match(/window.ZG_COLLECTIONSs*=s*({[sS]*});?/),a=l?l[1]:t,o=JSON.parse(a);o&&”object”==typeof o?(Object.values(o).forEach((e=>{e.covers&&(e.covers=e.covers.map(getOriginalImage)),e.games&&e.games.forEach((e=>{e.image&&(e.image=getOriginalImage(e.image))}))})),data=o,save(),toast(“Imported!”)):alert(“Invalid structure”)}catch(e){alert(“Could not parse: “+e.message)}},n.readAsText(t),e.target.value=””}
render(),updateTargetCollection(),updateJSONPreview();