Skip to content

Commit 8ab46f2

Browse files
DutchSailorclaude
andcommitted
Improve statistics: LOC from Dec 2025, releases, equal chart sizes
- LOC counted only from December 2025 onwards (not all-time) - Added Releases and Open Issues to highlight cards (8 cards, 4x2) - Replaced stars chart with open issues chart - All charts same height (250px) - Regenerated data with corrected LOC baseline Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent ed68b2c commit 8ab46f2

4 files changed

Lines changed: 28 additions & 20 deletions

File tree

data/history/2026-04-03.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
"totalForks": 36,
77
"totalOpenIssues": 162,
88
"totalSizeKB": 11574792,
9-
"estimatedLinesOfCode": 289369800,
9+
"estimatedLinesOfCode": 19056300,
1010
"totalCommits": 4177,
1111
"uniqueContributors": 32,
1212
"languages": 8

data/stats.json

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"generated": "2026-04-03T18:28:24.930Z",
2+
"generated": "2026-04-03T18:38:02.448Z",
33
"summary": {
44
"totalRepos": 108,
55
"publicRepos": 67,
@@ -8,7 +8,7 @@
88
"totalForks": 36,
99
"totalOpenIssues": 162,
1010
"totalSizeKB": 11574792,
11-
"estimatedLinesOfCode": 289369800,
11+
"estimatedLinesOfCode": 19056300,
1212
"totalCommits": 4177,
1313
"uniqueContributors": 32,
1414
"languages": 8
@@ -1277,11 +1277,11 @@
12771277
"2026-04": 4177
12781278
},
12791279
"cumulativeLinesOfCode": {
1280-
"2025-12": 270987000,
1281-
"2026-01": 282272925,
1282-
"2026-02": 285032550,
1283-
"2026-03": 289358050,
1284-
"2026-04": 289369800
1280+
"2025-12": 673500,
1281+
"2026-01": 11959425,
1282+
"2026-02": 14719050,
1283+
"2026-03": 19044550,
1284+
"2026-04": 19056300
12851285
}
12861286
},
12871287
"historicalTrend": [

scripts/generate-stats.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@ function buildTimeSeries(publicRepos) {
6060
let cumIssues = preExisting.reduce((s, r) => s + r.open_issues_count, 0);
6161
let cumCommits = preExisting.reduce((s, r) => s + (r._commitCount || 0), 0);
6262
let cumSize = preExisting.reduce((s, r) => s + r.size, 0);
63+
let locSinceDec2025 = 0; // LOC starts at 0 from Dec 2025
6364
const reposPerMonth = {};
6465
const starsPerMonth = {};
6566
const issuesPerMonth = {};
@@ -73,12 +74,13 @@ function buildTimeSeries(publicRepos) {
7374
cumIssues += reposThisMonth.reduce((s, r) => s + r.open_issues_count, 0);
7475
cumCommits += reposThisMonth.reduce((s, r) => s + (r._commitCount || 0), 0);
7576
cumSize += reposThisMonth.reduce((s, r) => s + r.size, 0);
77+
locSinceDec2025 += reposThisMonth.reduce((s, r) => s + r.size, 0) * 25; // only count code from Dec 2025 onwards
7678

7779
reposPerMonth[month] = cumRepos;
7880
starsPerMonth[month] = cumStars;
7981
issuesPerMonth[month] = cumIssues;
8082
commitsPerMonth[month] = cumCommits;
81-
sizePerMonth[month] = Math.round(cumSize * 25); // estimated lines of code
83+
sizePerMonth[month] = Math.round(locSinceDec2025); // lines of code since Dec 2025
8284
});
8385

8486
return {
@@ -187,7 +189,7 @@ async function main() {
187189
totalForks: publicRepos.reduce((s, r) => s + r.forks_count, 0),
188190
totalOpenIssues: publicRepos.reduce((s, r) => s + r.open_issues_count, 0),
189191
totalSizeKB: publicRepos.reduce((s, r) => s + r.size, 0),
190-
estimatedLinesOfCode: Math.round(publicRepos.reduce((s, r) => s + r.size, 0) * 25),
192+
estimatedLinesOfCode: Math.round(publicRepos.filter(r => r.created_at >= '2025-12-01').reduce((s, r) => s + r.size, 0) * 25),
191193
totalCommits: totalCommits,
192194
uniqueContributors: contributorSet.size,
193195
languages: Object.keys(langStats).length,

statistieken/index.html

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -390,13 +390,15 @@ <h1>Tijdlijn & <span class="accent">Statistieken</span></h1>
390390

391391
<!-- Section 1: Highlight stats -->
392392
<section class="section" style="background: var(--blueprint-white);">
393-
<div class="highlight-cards" style="grid-template-columns: repeat(3, 1fr);">
393+
<div class="highlight-cards" style="grid-template-columns: repeat(4, 1fr);">
394394
<div class="highlight-card"><div class="number" id="s-repos"></div><div class="label">Repositories</div></div>
395395
<div class="highlight-card"><div class="number" id="s-commits"></div><div class="label">Commits</div></div>
396396
<div class="highlight-card"><div class="number" id="s-stars"></div><div class="label">Stars</div></div>
397+
<div class="highlight-card"><div class="number" id="s-releases"></div><div class="label">Releases</div></div>
397398
<div class="highlight-card"><div class="number" id="s-contributors"></div><div class="label">Contributors</div></div>
398399
<div class="highlight-card"><div class="number" id="s-loc"></div><div class="label">Regels code (est.)</div></div>
399400
<div class="highlight-card"><div class="number" id="s-languages"></div><div class="label">Programmeertalen</div></div>
401+
<div class="highlight-card"><div class="number" id="s-issues"></div><div class="label">Open issues</div></div>
400402
</div>
401403
<p id="stats-updated" style="text-align:center;font-size:0.75rem;color:var(--scaffold-gray);margin-top:var(--sp-2);"></p>
402404
</section>
@@ -408,19 +410,19 @@ <h2 style="color:white;">Groei in de <span class="accent">tijd</span></h2>
408410
<div class="trend-grid" style="display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-6);margin-top:var(--sp-6);">
409411
<div style="background:var(--deep-forge);border-radius:var(--radius-lg);padding:var(--sp-6);">
410412
<h4 style="color:var(--amber);font-family:var(--font-code);font-size:0.8rem;text-transform:uppercase;letter-spacing:0.08em;margin-bottom:var(--sp-4);">Cumulatief aantal repos</h4>
411-
<div id="chart-cum-repos" style="height:200px;"></div>
413+
<div id="chart-cum-repos" style="height:250px;"></div>
412414
</div>
413415
<div style="background:var(--deep-forge);border-radius:var(--radius-lg);padding:var(--sp-6);">
414416
<h4 style="color:var(--amber);font-family:var(--font-code);font-size:0.8rem;text-transform:uppercase;letter-spacing:0.08em;margin-bottom:var(--sp-4);">Cumulatief aantal commits</h4>
415-
<div id="chart-cum-commits" style="height:200px;"></div>
417+
<div id="chart-cum-commits" style="height:250px;"></div>
416418
</div>
417419
<div style="background:var(--deep-forge);border-radius:var(--radius-lg);padding:var(--sp-6);">
418-
<h4 style="color:var(--amber);font-family:var(--font-code);font-size:0.8rem;text-transform:uppercase;letter-spacing:0.08em;margin-bottom:var(--sp-4);">Cumulatief aantal stars</h4>
419-
<div id="chart-cum-stars" style="height:200px;"></div>
420+
<h4 style="color:var(--amber);font-family:var(--font-code);font-size:0.8rem;text-transform:uppercase;letter-spacing:0.08em;margin-bottom:var(--sp-4);">Open issues per maand</h4>
421+
<div id="chart-cum-issues" style="height:250px;"></div>
420422
</div>
421423
<div style="background:var(--deep-forge);border-radius:var(--radius-lg);padding:var(--sp-6);">
422424
<h4 style="color:var(--amber);font-family:var(--font-code);font-size:0.8rem;text-transform:uppercase;letter-spacing:0.08em;margin-bottom:var(--sp-4);">Regels code (geschat)</h4>
423-
<div id="chart-cum-loc" style="height:200px;"></div>
425+
<div id="chart-cum-loc" style="height:250px;"></div>
424426
</div>
425427
</div>
426428
</div>
@@ -429,13 +431,13 @@ <h4 style="color:var(--amber);font-family:var(--font-code);font-size:0.8rem;text
429431
<section class="section" style="background: white;">
430432
<div class="stats-section">
431433
<h2>Repos per <span class="accent">maand</span></h2>
432-
<div id="chart-monthly" style="height: 300px;"></div>
434+
<div id="chart-monthly" style="height: 250px;"></div>
433435
</div>
434436
</section>
435437
<section class="section" style="background: var(--concrete);">
436438
<div class="stats-section">
437439
<h2>Verdeling per <span class="accent">programmeertaal</span></h2>
438-
<div id="chart-langs" style="height: 300px;"></div>
440+
<div id="chart-langs" style="height: 250px;"></div>
439441
</div>
440442
</section>
441443

@@ -586,6 +588,8 @@ <h2>Repository overzicht</h2>
586588
document.getElementById('s-contributors').textContent = '10+';
587589
document.getElementById('s-loc').textContent = '—';
588590
document.getElementById('s-languages').textContent = '7+';
591+
document.getElementById('s-releases').textContent = '100+';
592+
document.getElementById('s-issues').textContent = '—';
589593
});
590594

591595
function renderStats(data) {
@@ -596,6 +600,8 @@ <h2>Repository overzicht</h2>
596600
document.getElementById('s-contributors').textContent = s.uniqueContributors;
597601
document.getElementById('s-loc').textContent = s.estimatedLinesOfCode.toLocaleString('nl-NL');
598602
document.getElementById('s-languages').textContent = s.languages;
603+
document.getElementById('s-releases').textContent = data.repos.reduce((s, r) => s + r.releases, 0);
604+
document.getElementById('s-issues').textContent = s.totalOpenIssues;
599605
document.getElementById('stats-updated').textContent = 'Laatste update: ' + data.generated.substring(0, 10);
600606

601607
// Table
@@ -628,7 +634,7 @@ <h2>Repository overzicht</h2>
628634
const ts = data.timeSeries;
629635
lineChart('chart-cum-repos', ts.months, ts.cumulativeRepos, '#D97706');
630636
lineChart('chart-cum-commits', ts.months, ts.cumulativeCommits, '#16A34A');
631-
lineChart('chart-cum-stars', ts.months, ts.cumulativeStars, '#F59E0B');
637+
lineChart('chart-cum-issues', ts.months, ts.cumulativeIssues, '#EA580C');
632638
lineChart('chart-cum-loc', ts.months, ts.cumulativeLinesOfCode, '#3178C6', true);
633639
}
634640
}
@@ -647,7 +653,7 @@ <h2>Repository overzicht</h2>
647653
}
648654

649655
// Use HTML/CSS based chart for better text rendering
650-
const chartH = 160;
656+
const chartH = 200;
651657
el.innerHTML = `
652658
<div style="position:relative;height:${chartH + 40}px;">
653659
<!-- Y-axis labels -->

0 commit comments

Comments
 (0)