\n \n \n
${e.description}
\n找不到符合條件的文章。
'};(async()=>{try{const t=await fetch("./posts.json");if(!t.ok)throw new Error(`HTTP error! status: ${t.status}`);const n=await t.json();e=n,s(e)}catch(e){console.error("無法讀取 posts.json:",e),t.innerHTML="無法載入文章列表,請確認 'posts.json' 檔案是否存在且格式正確。
"}})(),n.addEventListener("input",t=>{const n=t.target.value.toLowerCase(),r=e.filter(e=>e.title.toLowerCase().includes(n)||e.description.toLowerCase().includes(n));s(r)}),(()=>{const e=document.querySelectorAll(".fade-in-up"),t=new IntersectionObserver(e=>{e.forEach(e=>{e.isIntersecting&&(e.target.classList.add("visible"),t.unobserve(e.target))})},{threshold:.1});e.forEach(e=>{t.observe(e)})})()})