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 @@
<%= repository.description %>
+
+ <% if (repository.language?.name) { %> +
+ " fill-rule="evenodd" d="M8 4a4 4 0 100 8 4 4 0 000-8z"> + <%= repository.language.name %> +
+ <% } %> + <% if (Number.isFinite(repository.stargazers)) { %> +
+ + <%= f(repository.stargazers) %> +
+ <% } %> + <% if (Number.isFinite(repository.stargazers)) { %> +
+ + <%= f(repository.forks) %> +
+ <% } %> +
<% } %> diff --git a/source/templates/classic/style.css b/source/templates/classic/style.css index 268444cb..0be57f7a 100644 --- a/source/templates/classic/style.css +++ b/source/templates/classic/style.css @@ -870,7 +870,7 @@ .starlist .repository { margin: 6px 0 0; } - .starlist .repository .description { + .starlist .repository .description, .starlist .repository .infos { font-size: 11px; } .starlist .repository .name {