diff --git a/worker.js b/worker.js new file mode 100644 index 0000000..3b3b249 --- /dev/null +++ b/worker.js @@ -0,0 +1,273 @@ +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}
+