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}

${topics.map(topic => `#${topic}`).join('')}
Stars: ${repo.stargazers_count} Watchers: ${repo.watchers_count}
`; }).join(''); }; const categoriesHtml = Object.keys(data).map(language => `

${language} Repositories

${repoCardsHtml(data[language], language)}
`).join(''); const sidebarLinks = Object.keys(data).map(language => `
  • ${language}
  • `).join(''); return ` Jerry Zhou GitHub Stars 导航
    ${categoriesHtml}
    Copyright © 2024 Jerry Zhou . All Rights Reserved.
    `; }