🚑 adapt the parser to the new github page markup

This commit is contained in:
platane
2023-01-06 08:25:04 +01:00
parent 29c7ee48ec
commit a0e08722d9

View File

@@ -47,18 +47,22 @@ const parseUserPage = (content: string) => {
let x = 0;
let lastYAttribute = 0;
const rects = Array.from(block.matchAll(/<rect[^>]*>/g)).map(([m]) => {
const rects = Array.from(block.matchAll(/<rect[^>]*>[^<]*<\/rect>/g)).map(
([m]) => {
const date = m.match(/data-date="([^"]+)"/)![1];
const count = +m.match(/data-count="([^"]+)"/)![1];
const level = +m.match(/data-level="([^"]+)"/)![1];
const yAttribute = +m.match(/y="([^"]+)"/)![1];
const literalCount = m.match(/(No|\d+) contributions? on/)![1];
const count = literalCount === "No" ? 0 : +literalCount;
if (lastYAttribute > yAttribute) x++;
lastYAttribute = yAttribute;
return { date, count, level, x, yAttribute };
});
}
);
const yAttributes = Array.from(
new Set(rects.map((c) => c.yAttribute)).keys()