From 2a0329d878c4819fbafeba1c8c25bb34906af207 Mon Sep 17 00:00:00 2001 From: Simon Lecoq <22963968+lowlighter@users.noreply.github.com> Date: Tue, 8 Feb 2022 06:01:11 +0100 Subject: [PATCH] feat(plugins/starlists): add languages, forks and stars to repositories (#853) [skip ci] --- source/plugins/starlists/index.mjs | 8 +++++++- .../templates/classic/partials/starlists.ejs | 20 +++++++++++++++++++ source/templates/classic/style.css | 2 +- 3 files changed, 28 insertions(+), 2 deletions(-) diff --git a/source/plugins/starlists/index.mjs b/source/plugins/starlists/index.mjs index d4a34c43..488cac7c 100644 --- a/source/plugins/starlists/index.mjs +++ b/source/plugins/starlists/index.mjs @@ -44,9 +44,15 @@ export default async function({login, q, imports, data, account}, {enabled = fal for (const list of lists) { console.debug(`metrics/compute/${login}/plugins > starlists > fetching ${list.name}`) await page.goto(list.link) - const repositories = await page.evaluate(() => [...document.querySelectorAll("#user-list-repositories > div")].map(element => ({ + const repositories = await page.evaluate(() => [...document.querySelectorAll("#user-list-repositories > div:not(.paginate-container)")].map(element => ({ name:element.querySelector("div:first-child")?.innerText.replace(" / ", "/") ?? "", description:element.querySelector(".py-1")?.innerText ?? "", + language:{ + name:element.querySelector("[itemprop='programmingLanguage']")?.innerText ?? "", + color:element.querySelector(".repo-language-color")?.style?.backgroundColor?.match(/\d+/g)?.map(x => Number(x).toString(16)).join("") ?? null, + }, + stargazers:Number(element.querySelector("[href$='/stargazers']")?.innerText.trim().replace(/[^\d]/g, "") ?? NaN), + forks:Number(element.querySelector("[href$='/network/members']")?.innerText.trim().replace(/[^\d]/g, "") ?? NaN), })) ) list.repositories.push(...repositories) diff --git a/source/templates/classic/partials/starlists.ejs b/source/templates/classic/partials/starlists.ejs index 2ab82d9e..da8f6292 100644 --- a/source/templates/classic/partials/starlists.ejs +++ b/source/templates/classic/partials/starlists.ejs @@ -34,6 +34,26 @@