feat(card): add contributions area chart card

New 5-contributions.svg renders the last year's contribution calendar
as a monthly smooth-filled area chart. Pure Go SVG; no extra API calls
— one additional contributionCalendar.weeks block in the existing
profile GraphQL query carries the data.

- Y-axis mirrored on both sides with nice ticks.
- X-axis labels in YY/MM format, every other month to avoid overlap.
- Smooth curve via Catmull-Rom interpolation converted to cubic Bezier
  (d3.curveCatmullRom default tension 0.5).
- Missing months between first and last are inserted as zero-count so
  the chart stays time-continuous.
This commit is contained in:
2026-04-18 21:20:52 +07:00
parent 442da96f99
commit d0d3862780
5 changed files with 227 additions and 1 deletions
+9 -1
View File
@@ -30,7 +30,15 @@ query($login: String!, $after: String) {
totalPullRequestReviewContributions
totalRepositoryContributions
restrictedContributionsCount
contributionCalendar { totalContributions }
contributionCalendar {
totalContributions
weeks {
contributionDays {
contributionCount
date
}
}
}
}
repositories(
first: 100