addEventListener('fetch', event => { event.respondWith(handleRequest(event.request)); }); async function handleRequest(request) { const response = await fetch('https://cdn.jsdelivr.net/gh/YangguangZhou/some-stars@main/data.json'); //这里的xxx修改为自己仓库的json raw文件 const data = await response.json(); const html = generateHTML(data); return new Response(html, { headers: { 'content-type': 'text/html' }, }); } function generateHTML(data) { const repoCardsHtml = (repos, language) => { return repos.map((repo) => { const truncatedDescription = repo.description && repo.description.length > 200 ? repo.description.slice(0, 200) + '...' : repo.description; const topics = repo.topics.map(topic => topic.toLowerCase()); if (!topics.includes(language.toLowerCase())) { topics.push(language.toLowerCase()); } return `
${truncatedDescription}