80 Commits
Author SHA1 Message Date
tiennm99 c602078d35 docs: use a generic example domain 2026-10-11 13:00:46 +07:00
github-actions[bot] db195e46dd chore(demo): regenerate gallery 2026-10-07 12:17:39 +00:00
tiennm99 537c87c458 feat(web): show cards inline for quick viewing and accept the visitor's own token
The web UI is for a quick look at a profile, not for hosting embeddable
images. Cards are inlined into /u/<user> as data: images, the per-card
route is gone, and the page no longer offers copy links or Markdown
snippets. The page itself stays shareable.

Visitors can again paste their own token, with a button that opens
GitHub's new-token page with the needed scopes ticked. A pasted token
takes precedence over sign-in, follows the same ownership, privacy and
cooldown rules, is never stored or logged, and is not revoked. The server
still uses no token of its own.
2026-10-07 19:15:15 +07:00
github-actions[bot] 006ff6e34c chore(demo): regenerate gallery 2026-10-07 10:53:05 +00:00
tiennm99 2def27f49a feat(web): require GitHub sign-in to generate cards
The web UI now runs every job on an OAuth token from "Sign in with
GitHub". The ticked options decide the requested scopes (read:user, plus
repo for private repos, plus read:org for org repos); a grant wider than
requested is refused. The token lives only on the job and is revoked when
the job ends, on every path including shutdown.

The server no longer holds a GitHub token of its own, and the pasted-token
field and /generate are gone. -serve requires -oauth-client-id,
-oauth-client-secret and -public-url (GHGLANCE_OAUTH_* and
GHGLANCE_PUBLIC_URL), and compose.yml requires them too. The CLI and the
Action keep -token unchanged.
2026-10-07 17:50:33 +07:00
github-actions[bot] 3b157e4215 chore(demo): regenerate gallery 2026-10-07 04:28:35 +00:00
tiennm99 a9f7451526 fix(compose): expose port 8080 so Coolify's proxy can route the web UI 2026-10-07 11:26:33 +07:00
github-actions[bot] cd309f7904 chore(demo): regenerate gallery 2026-10-07 04:25:53 +00:00
tiennm99 9b3bcb451e chore(compose): rename the server token variable to GHGLANCE_TOKEN 2026-10-07 11:23:13 +07:00
tiennm99 ee709597df ci(demo): read the token from the GHGLANCE_TOKEN secret 2026-10-07 11:21:20 +07:00
tiennm99 ad775adffa feat(web): add web UI and Coolify compose deployment
`ghglance -serve :8080` runs a web UI from the same binary: submit a
username, a background job renders every card in every theme, and
/u/<user> shows them again with a theme picker and embed URLs.

- Cards are stored on disk with atomic symlink publishing and deleted
  after -retention (default 24h); -cooldown limits token-less regeneration.
- Token-less jobs use a public-only server token with private and org
  scope forced off; a submitter's own token is used for that job only and
  never stored or logged. The form links to GitHub's new-token page with
  the needed scopes pre-ticked.
- The CLI and web share one fetch helper; CLI output is unchanged.
- compose.yml deploys to Coolify with a data volume and /healthz check.
2026-10-07 11:08:07 +07:00
github-actions[bot] af420f0db7 chore(demo): regenerate gallery 2026-10-03 06:40:30 +00:00
tiennm99 3fc8a59de6 chore: rename the project to ghglance
The Marketplace rejects ghstats as an action name, so the repo, Go module,
binary, and action share the name ghglance instead. The demo workflow keeps
reading the existing GHSTATS_TOKEN repo secret.
2026-10-03 13:38:15 +07:00
github-actions[bot] 8c1f139990 chore(demo): regenerate gallery 2026-10-03 06:07:59 +00:00
tiennm99 9ab9cfd159 chore(action): list on the Marketplace as ghstats 2026-10-03 13:05:54 +07:00
github-actions[bot] bb360e10aa chore(demo): regenerate gallery 2026-08-27 07:42:28 +00:00
tiennm99 333f1aa12a feat(card): show seven repos on the top-starred card
Retune row spacing to the stats/records rhythm so seven rows fit the
shared 340x200 frame.
2026-08-27 14:39:53 +07:00
github-actions[bot] f8ecc8e98d chore(demo): regenerate gallery 2026-08-13 07:22:21 +00:00
tiennm99 7c081ac591 feat: let commits-per-repo 0 mean every commit
The pagination guard broke on seen >= maxPerRepo, so a cap of 0 stopped
before the first page and rendered empty productive-time,
productive-weekday and most-commit-language cards. That inverted the
meaning 0 carries for top-repos, where it already means unlimited.

Treat a cap of 0 or less as no cap. Verified against a real repo: a cap
of 100 still stops at 100, while 500 and 0 both walk the full 382-commit
history.
2026-08-13 14:19:41 +07:00
tiennm99 9e0387f307 docs: show include_org_repos in the runnable examples
The input reached both reference tables but neither example, so anyone
copying the workflow YAML or the CLI invocation would not learn the knob
exists. Add it to the Action example with a note on when to flip it, and
add a second CLI example alongside the existing one.

Add CLAUDE.md recording the five surfaces a config knob has to reach —
flag, action input, entrypoint translation, README tables *and*
examples, architecture doc — since the examples are the step that got
missed here. Also note the demo gallery's hardcoded card list and the
GitHub API ceilings the fetch pipeline works around.
2026-08-13 13:52:38 +07:00
github-actions[bot] 1ce59424b5 chore(demo): regenerate gallery 2026-08-13 06:36:22 +00:00
tiennm99 2c3667d28c fix(github): split a saturated quarter by month to recover dropped repos
Quarterly windows were not enough for the busiest quarter: a live run
warned that 2026-04-01..2026-06-30 still came back at the 100-repo
ceiling, so its seed list was truncated and those repos never got
probed for commit history.

Re-ask a saturated quarter month by month and merge only the repo
lists. The quarter has already contributed its calendar days and commit
totals, so the month passes skip that fold; verified by forcing the
ceiling down to 20 and confirming all six calendar-derived cards stay
byte-identical. Warn only when a month itself saturates, since there is
no finer window left to ask for.
2026-08-13 13:34:08 +07:00
github-actions[bot] 7832842c5d chore(demo): regenerate gallery 2026-08-13 06:25:25 +00:00
tiennm99 6be18b42b1 chore(demo): render records card and count org repos
The per-theme gallery pages embedded 15 SVGs and skipped records.svg,
which the render step has produced since the card landed, while the
index claimed every card was shown. Pair records with streak to match
the profile README layout at tiennm99/tiennm99.

Pass -include-org-repos so the gallery reflects repos under the author's
orgs.
2026-08-13 13:20:48 +07:00
tiennm99 30ba70d8ea feat: count org repos and fix contribution-window truncation
Split each contribution year into quarterly windows.
commitContributionsByRepository caps at 100 repos per query and drops
the remainder without signalling it, which a prolific year hits: 2026
returned exactly 100 where the quarterly union returns 108. Warn when a
window still comes back at the ceiling instead of reporting a complete
list.

Add -include-org-repos / include_org_repos so org-owned repos the user
administers count toward stars, repo count, repos-per-language and
top-starred. Off by default, since enabling it moves those totals for
every existing caller. Commit-driven cards already covered org repos
through the seed list. Org repos carrying only read or write access are
dropped via viewerPermission.

Rename Profile.PublicRepos to RepoCount and drop "public" from the card
label: the count tracks the fetch filters and includes private repos
whenever the token can see them.
2026-08-13 13:20:41 +07:00
github-actions[bot] 4d7de90656 chore(demo): regenerate gallery 2026-05-09 02:49:52 +00:00
tiennm99 b5cea5cf33 docs: plan for records card (260509-0913) 2026-05-09 09:47:38 +07:00
tiennm99 01c812158f feat(card): add records card with six lifetime personal-bests
New records.svg surfaces extremes the existing aggregate cards don't:
peak day (count + date), peak month, first contribution, lifetime
active days, account age in fractional years, and distinct languages
used. All values derive from data already fetched — no new GraphQL
queries. Three new octicon paths (calendar, history, globe) added to
icons.go; existing icons reused where they fit.
2026-05-09 09:47:38 +07:00
github-actions[bot] ed15d29d1f chore(demo): regenerate gallery 2026-05-09 02:15:41 +00:00
tiennm99 0cd6ccaa17 claude: allow git push in auto mode 2026-05-09 09:13:32 +07:00
tiennm99 85461bd8c8 fix(card): heatmap month labels skip leading zero-pad cell
The first cell of week 0 can be a zero-time padding slot when
start_of_week differs from the data's first weekday. Zero time
(0001-01-01) reports Day=1, Month=January, leaking a bogus "Jan"
label that overlaps the next real month label.
2026-05-09 09:02:16 +07:00
github-actions[bot] d21e65d401 chore(demo): regenerate gallery 2026-05-02 02:15:05 +00:00
tiennm99 f0c4a87132 fix(contributions): trim last-year series to clean 13-month span
GitHub's contributionCalendar is week-aligned, so a "last year" query on
2026-05-02 returns days back to ~2025-04-27. That extra partial month
inflated aggregateByMonth to 14 buckets and the x-axis stride logic placed
04/26 and 05/26 next to each other (x=290 / x=312), overlapping.

Trim to start-of-(last.Month - 1y) so the chart spans a clean 13 months
ending at the current month. Heatmap path is untouched — it needs the
full week-aligned series.
2026-05-02 09:13:34 +07:00
github-actions[bot] e396c221ff chore(demo): regenerate gallery 2026-05-02 01:50:39 +00:00
github-actions[bot] 0154623ca9 chore(demo): regenerate gallery 2026-04-21 14:21:13 +00:00
tiennm99 d39f41e901 chore(readme): mirror profile layout in preview, demo uses Monday start
- Project README preview section collapses the two side-by-side tables into
  one centred table matching tiennm99/tiennm99's stats table (row order
  identical to the per-theme demo pages).
- demo.yml now renders with -start-of-week monday so the gallery showcases
  the new flag and stays visually consistent with the author profile.
2026-04-21 21:18:39 +07:00
tiennm99 762a76fe76 chore(demo): mirror author profile README layout in per-theme pages
Reshape the generator in demo.yml so each theme's README renders one centred
table matching tiennm99/tiennm99's stats table: singletons two-per-row at the
top, streak spans full width, then four last-year/all-time pair rows under a
shared header. dracula updated manually so reviewers see the result before the
demo workflow regenerates the other 64 themes on merge.
2026-04-21 21:18:39 +07:00
github-actions[bot] 583a140c3b chore(demo): regenerate gallery 2026-04-21 13:59:40 +00:00
tiennm99 92387eddf5 feat(card): configurable start of week (#25)
* feat(card): configurable start of week for heatmap + weekday cards

New -start-of-week CLI flag (and start_of_week action input) rotates the
contribution-heatmap rows and the productive-weekday bars so users whose
calendars start on Monday (or any other day) get matching output. Default
stays Sunday to preserve existing renders.

* docs: note start-of-week in design-guidelines, codebase-summary, deployment-guide

- design-guidelines: heatmap row order + productive-weekday bar order now derive from Profile.WeekStart
- codebase-summary: list new weekday_start_test.go cases + TestParseWeekday
- deployment-guide: mention start_of_week as an optional action input in the workflow template
2026-04-21 20:57:21 +07:00
github-actions[bot] e8d9cc5900 chore(demo): regenerate gallery 2026-04-19 04:51:06 +00:00
tiennm99 0e0e4fc500 fix(card): productive titles render at 15 px for every timezone (#24)
Two cuts together keep the productive-time and productive-weekday
titles at the same 15 px the rest of the gallery uses:

1. utcOffsetLabel is now compact. Integer offsets drop the '.00'
   padding ("UTC+7" vs the old "UTC+7.00") and non-integer offsets use
   the colon form ("UTC+5:30", "UTC+5:45"). Saves 3 chars for the
   common integer case, so "Commits by Hour (last year, UTC+7)" lands
   at 34 chars — inside the 15 px budget.

2. weekdayTitle no longer embeds the UTC label. Day-of-week aggregates
   by whole days; clock precision isn't informative there, and
   dropping it shortens the title to 30 chars so the full 15 px lands
   for every timezone.

Quarter-hour-zone users (Kathmandu UTC+5:45) see the hour title drop
to 14 px — 37 chars still exceeds the budget — but that's a rare
case and only 1 px off.

TestUTCOffsetLabel updated to the new format. TestFitTitleFontSize
pinned the new titles.
2026-04-19 11:49:40 +07:00
github-actions[bot] eb04446272 chore(demo): regenerate gallery 2026-04-19 04:41:32 +00:00
tiennm99 70bcbd43f2 feat(card): stack heatmap into two halves; unify font-size vocabulary (#23)
## Heatmap — two halves, 8x8 cells

The single-row 53-week layout could never hold square cells larger than
4x4 inside a 340 px card — cramped. Split the year in half (ceil(weeks/2)
on top, floor on bottom) and each half is ~27 weeks wide, freeing the
cells to be 8x8 (4x the area) while keeping comfortable left (30 px)
and right (~67 px) gutters. Grid:

  topPadA = 45, half = 7*9 - 1 = 62 tall
  halfGap = 13
  topPadB = 120, same 62 tall
  grid bottom at y = 182, 18 px frame margin

Year still reads top-to-bottom left-to-right, just with one extra line
break at the midpoint. Dropped the separate Less/More legend — at 8x8
the intensity gradient is self-explanatory, and the removal buys the
vertical space the new layout needs.

Refactored into a helper `renderHeatmapHalf` so the two halves share a
single code path (labels + month markers + cells).

## Font-size vocabulary

Four named constants in svg.go: fontBody=12, fontLabel=11, fontAxis=10,
fontBigNum=28. Every card's existing literals already sit on this
ladder except the heatmap, which was using 9 for weekday/month labels.
Heatmap now routes through fontAxis so the whole gallery shares one
size scale.

Other cards' literals weren't rewritten to reference the constants
(pure churn for no behavior change); the constants give future cards
the vocabulary and the design-guidelines the schema.
2026-04-19 11:39:50 +07:00
github-actions[bot] 672bfe9d8d chore(demo): regenerate gallery 2026-04-19 04:25:37 +00:00
tiennm99 d59ae71116 fix(card): heatmap cells back to 4x4 squares with side gutters (#22)
The 4x12 rectangular stretch from v1.2.3 read as "weird". Requirement
is square cells + comfortable side padding. Given the 53-week hard
constraint, those two requirements together pick the cell size:

  53 * (size + gap) + leftPad + rightPad = 340

Candidates audited:
  6 x 6, gap 1 → 371 wide, overflows the frame
  5 x 5, gap 1 → 318 wide, only 11 px of total side padding ("very close")
  5 x 5, gap 0 → 265 wide, cells touch (need a stroke to fake a gap)
  4 x 4, gap 1 → 265 wide, 30 + 45 px gutters, real 1 px gaps ✓
  3 x 3, gap 2 → 265 wide, cells become pinhead-sized

4 x 4 with a 1 px gap is the largest square that keeps breathing room
on both sides without any rendering trickery. Grid is 35 px tall;
there's leftover vertical space on the card but short beats "stretched
horizontal bands" visually. Bump topPad from 62 → 70 to offset the
grid slightly down from the title and reduce that apparent emptiness.

Legend swatches also revert to the same cellSize so the Less/More
bar matches the grid visually again.
2026-04-19 11:23:48 +07:00
github-actions[bot] 67dab42ac8 chore(demo): regenerate gallery 2026-04-19 04:16:16 +00:00
tiennm99 7d586eb461 fix(card): make heatmap cells 3× taller — width was tight, height had room (#21)
Cells were 4 × 4 with 1 px gap: the grid used 35 of 140 available
vertical pixels (25 %) and ~80 px of dead space below. Widening the
cells isn't an option — 53 weeks already consume every horizontal
pixel past the weekday-label gutter. So stretch vertically instead:

  cellW = 4 (unchanged)  cellH = 12  cellGap = 1

Grid footprint is now 265 × 91 px inside a 340 × 200 frame, with a 32
px gap below the grid for the legend. Each weekday reads as a distinct
horizontal band instead of a cramped postage-stamp row.

Legend keeps 8 × 8 SQUARE swatches so the "Less ▢▢▢▢▢ More" row is
still recognisable as an intensity legend rather than a stretched echo
of the data cells. Label baseline offset switches from `cellSize - 1`
to `cellH - 3` so "Mon"/"Wed"/"Fri" sit visually centred in the taller
rows.
2026-04-19 11:14:42 +07:00
github-actions[bot] 8497c0de76 chore(demo): regenerate gallery 2026-04-19 04:01:53 +00:00
tiennm99 1e58d4c13a fix(card): donut legend caps at 7 rows (Other inclusive); add heatmap gutter (#20)
Two follow-ups:

1. "Top 7 languages" counts rows the reader sees, not "7 named + Other".
   Revert collapseOther to the original semantic: when the input has more
   than n entries, keep in[:n-1] named and fold the tail into a single
   "Other" row — 7 rows total with topN=7. Input with ≤7 real languages
   still passes through unchanged. Test and adversarial-profile updated
   to pin the cap (6 named + Other, Shell/Kotlin/Java collapse).

2. Contributions heatmap grid was touching the card right edge
   (leftPad 22 + 53*6 = 340 exactly). Shrink cells from 5×5 to 4×4 and
   bump leftPad to 30, giving 45 px of right gutter. Grid no longer
   reads as bleeding into the frame border; weekday label column also
   gets a few more pixels of breathing room on the left.
2026-04-19 11:00:02 +07:00
github-actions[bot] 083be8d01c chore(demo): regenerate gallery 2026-04-19 03:47:40 +00:00
tiennm99 3dd5e85806 fix(card): show 7 *named* languages + Other, not 6 + Other (#19)
With topN=7 the previous collapseOther kept only the first 6 entries
and added "Other" as the 7th row. A user expecting to see 7 actual
languages in the legend saw six named languages plus "Other" — the
exact complaint just raised about the profile repo's donut.

Flip the semantic: the "top N" slots are reserved for real languages,
and "Other" is an extra row when (and only when) there's a non-zero
tail past the Nth entry. Topologically that means up to 8 legend
rows — still fits the card frame (row 8 text baseline at y=195, card
height 200).

- TestDonutTopSevenPlusOther pins the new contract with a 9-language
  input.
- adversarialProfile in TestCardsFitFrame bumped to 9 languages so
  the stress test exercises the 8-row legend geometry.
- design-guidelines: the donut row re-reads "Up to 7 named languages,
  plus an 'Other' row when the tail is non-zero (8 rows max)".
2026-04-19 10:46:10 +07:00
tiennm99 059c8b11ad docs: focus each file on users or coworkers, drop unrelated content (#18)
project-roadmap.md went from a 146-line phase-by-phase history to a
48-line focused view: what's planned, what's out of scope. Completed
work is already in git log + GitHub Releases — the doc re-telling it
was the thing most likely to rot and least likely to be read.

project-overview-pdr.md: "Open questions" section dropped its stale
bullet list and now just points at project-roadmap.md (single source of
truth for planned work).

code-standards.md: drop the ".claude/ directory" commit rule — that's
a per-user workflow detail, not a project-level standard. Docs are for
users of the CLI/Action and coworkers of this repo, nothing else.
2026-04-19 10:34:02 +07:00
tiennm99 65f17af2bc docs: collapse marketplace-publish step — already published (#17)
The repo is already listed on the Marketplace as ghstats-cards, so the
multi-paragraph "open the release page, tick the checkbox, re-publish"
instruction was stale. Replace with a one-line note pointing at the
existing listing and stating that new releases inherit visibility
automatically.
2026-04-19 10:26:57 +07:00
tiennm99 dab7fe0371 docs(readme): embed live dracula preview at the top (#16)
The README previously only LINKED to the demo gallery. Pull the dracula
theme inline so a reader can scan every card type + the LY/AT pairs
without leaving the page, and use the demo gallery for the other 64
themes. SVGs resolve against demo/dracula/ which the demo workflow keeps
fresh on every push to main.
2026-04-19 10:24:34 +07:00
tiennm99 88397e80a3 docs: resync after card fixes — title auto-fit, truncate, abbreviated ticks (#15)
Several recent code changes hadn't propagated to the docs:

- design-guidelines
  * Card frame title row: document the 11–15 px auto-shrink (not a flat
    15 px anymore).
  * Donut Top-N: already 7 (updated earlier).
  * Bar-chart section renamed to cover weekday + by-year too; document
    the peak-vs-dim highlight convention and the niceTicks yMax ≥ max
    invariant.
  * Add Heatmap / Stat-column (streak) / List (top-starred) card
    sections — they were missing entirely.
  * Rewrite "Text overflow" from "we don't truncate" to the current
    truth (truncate helper, formatTick abbreviations).
  * Replace dangling `truncateName` reference with `truncate`.

- code-standards
  * SVG output standards: call out truncate, formatTick abbreviation,
    header auto-fit so the card-review gate reflects what the renderers
    actually do.

- codebase-summary
  * Layout tree: svg.go / axis.go comments list the helpers they now
    contain; productive.go notes the weekday histogram.
  * demo/ tree shows the index vs per-theme split.
  * Data-flow diagram includes Weekday in the productive pass.
  * Test coverage row lists TestCardsFitFrame / TestFitTitleFontSize /
    TestNiceTicksCoversMax — the new invariant guards.

- system-architecture
  * Shared primitives list adds renderWeekday and renderHeatmap; donut
    blurb updated to "top 7".
  * New "Chart-geometry invariants" block documents niceTicks ceiling,
    formatTick abbreviation, header auto-fit.

- project-roadmap
  * Phase 7.5 bullet updated to describe the index + per-theme demo
    split (was single-README TOC).
2026-04-19 10:22:03 +07:00
github-actions[bot] fc29729aa2 chore(demo): regenerate gallery 2026-04-19 03:15:00 +00:00
tiennm99 d1034e6883 feat(card): show top 7 languages on donut cards instead of top 5 (#14)
Legend at x=20-155 fits 7 rows (y=55 to y=175); donut at cx=250, cy=110
is unaffected. Update the design-guidelines table to match. Stress test
still passes — the legend column never leaves its left-side gutter.
2026-04-19 10:13:07 +07:00
github-actions[bot] 72fcba7963 chore(demo): regenerate gallery 2026-04-19 03:10:37 +00:00
tiennm99 43371a386a refactor(demo): split single 975-image README into index + per-theme pages (#13)
Loading demo/README.md was unusable — 65 themes × 15 SVGs = 975 images
in one page, and reloading made the tab lag for 10+ seconds. Restructure:

- demo/README.md shrinks to an index: one bullet per theme linking to
  that theme's page. Zero images.
- demo/<theme>/README.md (new) embeds the 15 SVGs for that theme only,
  grouped so the last-year / all-time variants sit side-by-side in HTML
  tables. Readers compare LY vs AT without scrolling back and forth,
  and fetch ~15 images instead of 975.

Per-theme page layout:

  ## At-a-glance       profile · stats · streak  (each full-width)
  ## Repos             top-starred · repos-per-language
  ## Contributions     heatmap · by-year, then
                       monthly shape: LY | AT  (paired)
  ## When you commit   hour-of-day: LY | AT
                       day-of-week: LY | AT
  ## What you commit   language share: LY | AT

pair() and single() bash helpers skip missing SVGs so a future
partial-render doesn't emit dangling <img> tags.
2026-04-19 10:08:44 +07:00
github-actions[bot] 9371cbaa92 chore(demo): regenerate gallery 2026-04-19 03:05:36 +00:00
tiennm99 462d2af4dd refactor(card): audit title-fit logic — O(1) form + lock-in unit test (#12)
The title fitter was correct but the loop-down-from-maxFont form hid
its intent. Switch to the direct expression:

    ideal = floor(budget / (chars * 0.6))
    clamp to [11, 15]

Same answer for every title; easier to verify at a glance. Hoist the
four constants (leftInset=20, rightSafety=4, minFont=11, maxFont=15,
charRatio=0.6) to package scope so the new unit test can reference
them without re-declaring.

Utilization audit for realistic dracula titles (width=340, budget=316):

  Stats (5)                                        → 15 px (14 %)
  Top Starred Repos (17)                           → 15 px (48 %)
  Most Commit Language (all time) (31)             → 15 px (91 %)
  Commits by Hour (last year, UTC+7.00) (37)       → 14 px (98 %)
  Commits by Weekday (last year, UTC+7.00) (40)    → 13 px (99 %)
  Commits by Weekday (last year, UTC+12.75) (41)   → 12 px (93 %)
  200-char pathological                            → 11 px (floor)

TestFitTitleFontSize pins this table so a future charRatio tweak can't
silently regress any real title. TestCardsFitFrame (the end-to-end
check) plus this unit test now cover both the geometry and the picked-
font-size paths.
2026-04-19 10:04:02 +07:00
github-actions[bot] 31cf6e265f chore(demo): regenerate gallery 2026-04-19 02:55:52 +00:00
tiennm99 a3219e2892 fix(card): y-axis last tick must be ≥ data max (chartH overflow) (#11)
When niceTicks picks a step that doesn't divide the data max, the last
returned tick was the highest step multiple ≤ max. Callers used it as
yMax, so any data point > lastTick rendered a bar > chartH that poked
above the chart top into the title area.

Concrete case from the dracula demo: max=625 with step=100 → ticks
[0, 100, 200, 300, 400, 500, 600], yMax=600, bar height for 625 =
110*(625/600) = 114.58 — 4.58 px past the chart top and right against
the card title.

Fix in niceTicks itself: round the top tick UP to the next step multiple
(`last = ceil(max/step) * step`), so 625 yields [..., 600, 700] and the
same 625 bar lands at 110*(625/700) ≈ 98.2 px, with a clean 12 px gap
to the title.

This is the stable answer to title-vs-bar collision: regardless of
which weekday (or year, or month, or hour) holds the peak, the chart
headroom is built into the axis instead of leaned on per-card. The
title auto-shrink from the previous fix still applies — that's for
literal text width, an orthogonal problem.

Add TestNiceTicksCoversMax covering the cases (625, 99, 101, 7, 49,
999, 1001) that would have silently regressed before.
2026-04-19 09:54:28 +07:00
github-actions[bot] 891fd4a7cb chore(demo): regenerate gallery 2026-04-19 02:46:02 +00:00
tiennm99 9dcb4505fa fix(card): auto-shrink card titles that don't fit at 15 px (#10)
productive-weekday's "Commits by Weekday (last year, UTC+7.00)" is 40
chars — at font-size 15 that renders ≈360 px wide, past the 340 px
frame. Before the previous stress-test run missed it because the
fixture left UTCOffsetLabel blank, so the title was the short
"Commits by Weekday (last year)" form that happens to fit.

Fix at the render layer instead of rewriting every long title:
header() now picks the largest font between 11 and 15 px at which the
title still fits in 316 px (card width − 20 left inset − 4 right
safety). 40-char titles land at 13 px; ≤ 35-char titles still render at
15 px as before. Readability floor is 11 px — far from the point at
which text becomes illegible, but a hard floor nevertheless.

Stress-test fixture now populates UTCOffsetLabel with "UTC+12.75"
(half-hour / quarter-hour zones make the widest title) so this class
of bug surfaces automatically from here on.
2026-04-19 09:44:12 +07:00
github-actions[bot] 927926751a chore(demo): regenerate gallery 2026-04-19 02:36:15 +00:00
tiennm99 55421ebe3d fix(card): adapt to profile magnitude — abbreviate ticks, truncate long text (#9)
The stress test caught real overflows from profiles the author doesn't
have:

- Y-axis tick labels were raw integers. A user with 10,000+ yearly
  contributions or 1000+ monthly commits would render "10000" / "1000000"
  at text-anchor="end" against a ~28 px gutter — the digits spilled
  leftward past x=0. formatTick now abbreviates: 999→"999", 1500→"1.5k",
  12345→"12k", 1234567→"1.2M". No label exceeds 4 chars, all fit the
  gutter for every card that uses niceTicks.

- Profile details dumped Company / Location / Website / title verbatim,
  which works for the author (VNG, Ho Chi Minh, miti99.com) but not for
  40-char strings. Each row truncates at 40 runes; the title truncates at
  34. Uses a rune-aware truncate() helper hoisted out of top-starred-repos
  into svg.go so every list-style card can share it.

- Streak date range collapses to a single-year form ("Jan 2 — Dec 31")
  when start.Year() == end.Year() and to "YYYY — YYYY" across years. The
  previous "Jan 2 — Dec 31, 2025" format at 10 px × 21 chars pushed past
  the ~113 px column width.

The TestCardsFitFrame stress test was reading text-anchor and font-size
with a non-greedy regex that missed attributes whose position varied. It
now parses the opening <text> tag as a block and extracts each attribute
with its own regex, so text-anchor="end" / "middle" elements are no
longer false negatives. The check also estimates rendered width
(0.6 × font-size × len) and asserts the implied left/right edges stay in
the frame — catching exactly the class of bug the axis-tick case
represents.
2026-04-19 09:34:38 +07:00
github-actions[bot] 64f1dd5459 chore(demo): regenerate gallery 2026-04-19 02:28:58 +00:00
tiennm99 93880f7ddd fix(card): eliminate frame overflows and add release-gate standard (#8)
Three cards overflowed the 340×200 frame for realistic profile data:

- contributions-heatmap: the classic case — 53 weeks at 9px cellSize + 2px
  gap pushed the grid out to x≈611. Shrink to cellSize=5, cellGap=1 so
  leftPad(22) + 53*6 = 340 (exact fit). Drop month labels within 20 px of
  the right edge so "Dec"/"Apr" can't stick past the frame.
- streak: the third column rendered "N / M" at font-size 28, centered at
  x=282. For 4+ digit totals (e.g. 584 / 3031) the text extended to x≈347.
  Refactor to show the active-days integer by itself in the big slot and
  push "of N total (P%)" into the small detail line that the other two
  columns already use.
- top-starred-repos: the per-row star icon sat at x=306 while the right-
  anchored number ended at x=334, so 5+ digit star counts collided with
  the icon. Drop the icon (card title already says "Top Starred Repos"),
  emit the count as "N ★", right-anchor at x=334 with a 6 px safety gap.

Add a new TestCardsFitFrame stress test that renders every card against an
adversarial profile (10-digit counts, 40-char names, 20 active years,
53-week span) and asserts every positional attribute stays inside the
frame. This is the automated half of the new "fit-the-frame invariant"
added to docs/design-guidelines.md + a pre-release review checklist in
docs/code-standards.md.

Bug reports will still surface text-overflow cases that the coordinate
check can't see (a text-anchor="middle" element has a single x attribute
but renders outward), so the docs also spell out the human-review step:
render dracula against tiny/typical/adversarial fixtures before release.
2026-04-19 09:27:17 +07:00
tiennm99 4609688fe2 docs: correct card count 14 → 15 (weekday is LY + AT pair) (#7) 2026-04-19 09:15:50 +07:00
tiennm99 1c7e99630e fix(demo): include all 15 cards in demo/README.md gallery (#6)
The hardcoded cards[] array in demo.yml still listed the original 9,
so the S-tier additions (heatmap, streak, by-year, weekday pair,
top-starred) were rendered into demo/<theme>/ but never referenced in
demo/README.md. Expand the array to the full 15 in README card-table
order.
2026-04-19 09:14:37 +07:00
tiennm99 1c83d0d802 docs: resync remaining stale references after S-tier + demo changes (#5)
- deployment-guide.md: embed example now lists all 14 cards (was 9).
- codebase-summary.md: FetchProductive row includes Weekday / WeekdayAllTime;
  shared helpers list adds renderWeekday, renderHeatmap, mixHex/parseHex.
- system-architecture.md: per-commit fetch diagram shows the weekday bucket
  alongside the hour bucket.
2026-04-19 09:09:25 +07:00
github-actions[bot] 3e702556ac chore(demo): regenerate gallery 2026-04-19 02:05:38 +00:00
tiennm99 9c21144ac4 chore: drop tracked output/ sample in favor of CI-built demo gallery (#4)
The dracula sample under output/dracula/ was a reference render for the
README. Now that demo/ auto-generates every card × every theme on each
push, the sample is redundant — and keeping it trackers means every
behavioral tweak shows up as a diff in committed SVGs.

- Delete output/dracula/*.svg.
- .gitignore: collapse `output/*` + `!output/dracula/` to a plain `output/`.
- demo.yml: drop `output/**` from paths-ignore (no longer part of any push).
- README / docs: point readers at demo/ instead of output/dracula/.
2026-04-19 09:03:44 +07:00
github-actions[bot] 4a4aa4aa10 chore(demo): regenerate gallery 2026-04-19 02:00:54 +00:00
tiennm99 fd4c70e53e feat(card): add S-tier cards — heatmap, streak, by-year, weekday, top-starred (#3)
Five new cards, all derived from data FetchProductive / FetchProfile already
pull, so zero additional API calls:

- contributions-heatmap: 7×53 calendar grid with a 5-bucket intensity ramp
  mixed from each theme's Background→Accent so palettes with no dedicated
  heat ramp still render sensibly.
- streak: current streak, longest streak with date ranges, active/total days.
- contributions-by-year: one bar per active year, peak year highlighted.
- productive-weekday + -all-time: 7-bar day-of-week mirror of the hour-of-day
  cards; FetchProductive now also fills Weekday / WeekdayAllTime histograms
  during the same commit-history pass.
- top-starred-repos: top 5 owned non-fork repos by stargazer count; threads
  Stars through RepoInfo.

Card count: 9 → 14. Registered in allCards grouped by recency (last-year
block, then all-time block). Render test extended to cover all new files
and realistic daily-series inputs.
2026-04-19 08:58:59 +07:00
tiennm99 9dffc2234b docs: link demo gallery from readme and correct stale theme count (#2)
- README points to demo/ as an auto-generated theme preview.
- Bump "60+ / 61 themes" references to the actual 65.
- Record Phase 7.5 in roadmap and list demo.yml + demo/ in layout.
2026-04-19 08:45:40 +07:00
github-actions[bot] 04a9e60eff chore(demo): regenerate gallery 2026-04-19 01:35:49 +00:00
tiennm99 6867beab9c ci(demo): add workflow rendering every card for every theme (#1)
Runs on push to main (skipping its own demo/output/markdown commits),
builds the ghstats binary, renders every theme for the repo owner,
and writes a demo/README.md gallery back to main.
2026-04-19 08:34:19 +07:00
tiennm99 f90a5baec5 docs(readme): add tiennm99/tiennm99 as 'In the wild' example 2026-04-19 00:12:59 +07:00
1191 changed files with 65947 additions and 700 deletions

No files matched your search

+5
View File
@@ -1,5 +1,10 @@
{
"enabledPlugins": {
"gopls-lsp@claude-plugins-official": true
},
"permissions": {
"allow": [
"Bash(git push *)"
]
}
}
+12
View File
@@ -0,0 +1,12 @@
# The image needs only go.mod, main.go, internal/ and entrypoint.sh. Keep
# secrets and local output out of the Docker context and its cached layers.
.env
*.env
data/
output/
.git
.github
.claude
plans/
demo/
docs/
+5
View File
@@ -0,0 +1,5 @@
# "Sign in with GitHub" (a GitHub OAuth App); all three are required.
GHGLANCE_OAUTH_CLIENT_ID=
GHGLANCE_OAUTH_CLIENT_SECRET=
# External origin; the OAuth App's callback URL is <this>/auth/callback.
GHGLANCE_PUBLIC_URL=
+118
View File
@@ -0,0 +1,118 @@
name: Demo
on:
push:
branches: [main]
paths-ignore:
- "demo/**"
- "**.md"
- "LICENSE"
workflow_dispatch:
permissions:
contents: write
concurrency:
group: demo
cancel-in-progress: true
jobs:
generate:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/setup-go@v6
with:
go-version: "1.26"
cache: true
- name: Build ghglance
run: go build -trimpath -ldflags="-s -w" -o ghglance .
- name: Render every card for every theme
env:
GITHUB_TOKEN: ${{ secrets.GHGLANCE_TOKEN }}
run: |
rm -rf demo
mkdir -p demo
./ghglance \
-user "${{ github.repository_owner }}" \
-themes all \
-tz Asia/Saigon \
-start-of-week monday \
-include-org-repos \
-out demo
- name: Write demo READMEs (index + per-theme)
env:
OWNER: ${{ github.repository_owner }}
REPO: ${{ github.repository }}
run: |
themes=$(./ghglance -list-themes)
# Lightweight index so readers don't have to load ~975 images at once.
{
echo "# ghglance demo gallery"
echo
echo "Every card rendered for [\`$OWNER\`](https://github.com/$OWNER) in every supported theme. Click a theme to open its gallery page — each page embeds 16 SVGs, so only the theme you're reviewing is fetched."
echo
echo "Auto-generated by [\`.github/workflows/demo.yml\`](../.github/workflows/demo.yml) on each push to \`main\`. Do not edit by hand."
echo
echo "## Themes"
echo
for theme in $themes; do
dir="demo/$theme"
[ -d "$dir" ] || continue
echo "- [\`$theme\`](./$theme/README.md)"
done
} > demo/README.md
# Per-theme page mirrors the author profile README table layout at
# tiennm99/tiennm99 — singletons stacked two-per-row, then the four
# last-year/all-time pairs sit in consecutive rows under a shared
# header.
for theme in $themes; do
dir="demo/$theme"
[ -d "$dir" ] || continue
out="$dir/README.md"
cell() {
local name="$1"
printf '<td><img src="./%s.svg" alt="%s" /></td>' "$name" "$name"
}
row_pair() {
printf '<tr>'
cell "$1"
cell "$2"
printf '</tr>\n'
}
{
printf '# ghglance — %s\n\n' "$theme"
printf '[← back to index](../README.md)\n\n'
printf 'Rendered for [`%s`](https://github.com/%s). 16 SVGs laid out to ' "$OWNER" "$OWNER"
printf 'match the author profile README table.\n\n'
printf '<div align="center">\n\n<table>\n'
row_pair profile-details stats
row_pair repos-per-language top-starred-repos
row_pair contributions-by-year contributions-heatmap
row_pair records streak
printf '<tr><th>Last year</th><th>All time</th></tr>\n'
row_pair most-commit-language most-commit-language-all-time
row_pair contributions contributions-all-time
row_pair productive-weekday productive-weekday-all-time
row_pair productive-time productive-time-all-time
printf '</table>\n\n</div>\n'
} > "$out"
done
- name: Commit demo back to main
run: |
git config user.name "github-actions[bot]"
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
git add demo
if git diff --cached --quiet; then
echo "No demo changes to commit."
exit 0
fi
git commit -m "chore(demo): regenerate gallery"
git push origin HEAD:${{ github.ref_name }}
+6 -6
View File
@@ -79,22 +79,22 @@ jobs:
GOARCH: ${{ matrix.goarch }}
CGO_ENABLED: "0"
run: |
bin=ghstats
[ "$GOOS" = windows ] && bin=ghstats.exe
bin=ghglance
[ "$GOOS" = windows ] && bin=ghglance.exe
mkdir -p dist
go build -trimpath -ldflags="-s -w" -o "dist/$bin" .
cd dist
if [ "$GOOS" = windows ]; then
zip "ghstats_${GOOS}_${GOARCH}.zip" "$bin"
zip "ghglance_${GOOS}_${GOARCH}.zip" "$bin"
else
tar -czf "ghstats_${GOOS}_${GOARCH}.tar.gz" "$bin"
tar -czf "ghglance_${GOOS}_${GOARCH}.tar.gz" "$bin"
fi
- uses: softprops/action-gh-release@3bb12739c298aeb8a4eeaf626c5b8d85266b0e65 # v2
with:
files: dist/ghstats_*.*
files: dist/ghglance_*.*
# Move the floating major-version tag (e.g. v1) to this release's commit so
# consumers using `uses: tiennm99/ghstats@v1` automatically pick up each new
# consumers using `uses: tiennm99/ghglance@v1` automatically pick up each new
# minor/patch release. Force-push is expected here — that's the point of a
# floating tag.
update-major-tag:
+6 -4
View File
@@ -27,10 +27,12 @@ go.work.sum
# env file
.env
# Generated SVG cards from local runs — keep the dracula sample tracked so the
# README's embedded previews resolve; other themes are rebuilt on demand.
output/*
!output/dracula/
# Generated SVG cards from local runs. Use the demo/ gallery (auto-generated
# in CI) as the reference render instead of committing a sample here.
output/
# Cards stored by a local `ghglance -serve` run (default -data-dir).
data/
# Editor/IDE
# .idea/
+52
View File
@@ -0,0 +1,52 @@
# ghglance
Single-binary Go CLI that renders GitHub profile cards as SVG, wrapped by a
published GitHub Action. `main.go` parses flags → `internal/github` fetches →
`internal/card` renders → `internal/theme` supplies palettes.
## Adding or changing a config knob
A new flag, input, or default is not done when the code compiles. Every knob
has a surface in five places, and a change that lands in some but not all of
them ships a half-wired feature or a README that lies:
1. `main.go` — the CLI flag
2. `action.yml` — the matching Action input and its default
3. `entrypoint.sh` — the `INPUT_*` → flag translation
4. `README.md` — **both** reference tables (Action inputs, CLI flags) **and
the runnable examples**: the workflow YAML under "Use as a GitHub Action"
and the `ghglance …` command under "Use as a CLI"
5. `docs/system-architecture.md` — when the knob changes the fetch pipeline
or its query cost
The examples are the step most often missed, and they are what people copy.
Grep the flag name across the repo before calling the change complete; every
hit that is a reference table or example should mention it.
## Behavior changes are user-visible
The Action is published to the Marketplace, so existing callers get whatever
`@v1` points at. Default-off for anything that moves numbers on already-
rendered cards, and say so in the input description. Releases are tag-driven:
push `vX.Y.Z`, and `release.yml` tests, builds, and force-moves the floating
`v1` tag.
## Cards and the demo gallery
Adding a card means updating `internal/card/card.go`, the card table in
`README.md`, and the layout in `.github/workflows/demo.yml` — the demo
generator embeds a hardcoded list of SVGs, so a new card renders into every
theme directory but stays invisible in the gallery until it is added there.
Per-theme pages mirror the table layout in the author's profile README at
`tiennm99/tiennm99`.
## GitHub API constraints worth remembering
- `commitContributionsByRepository` caps at 100 repos per query and truncates
silently. Contribution years are queried by quarter, and a saturated quarter
is re-asked by month. Only widen windows with that ceiling in mind.
- `contributionCalendar` is clipped to the exact `from`/`to`, with no
week-boundary spillover, so disjoint windows never double-count days.
- Test files named `*_windows_test.go` (or any GOOS/GOARCH suffix) are
silently excluded from the build on other platforms — `go test` reports
"ok" while running nothing.
+2 -2
View File
@@ -3,11 +3,11 @@ WORKDIR /src
COPY go.mod ./
RUN go mod download || true
COPY . .
RUN CGO_ENABLED=0 go build -trimpath -ldflags="-s -w" -o /out/ghstats .
RUN CGO_ENABLED=0 go build -trimpath -ldflags="-s -w" -o /out/ghglance .
FROM alpine:3.21@sha256:48b0309ca019d89d40f670aa1bc06e426dc0931948452e8491e3d65087abc07d
RUN apk add --no-cache ca-certificates tzdata git
COPY --from=build /out/ghstats /usr/local/bin/ghstats
COPY --from=build /out/ghglance /usr/local/bin/ghglance
COPY entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh
ENTRYPOINT ["/entrypoint.sh"]
+259 -33
View File
@@ -1,40 +1,70 @@
# ghstats
# ghglance
> Generate SVG cards summarizing a GitHub user's profile — written in Go.
[![Marketplace](https://img.shields.io/badge/Marketplace-ghstats--cards-2f81f7?logo=github)](https://github.com/marketplace/actions/ghstats-cards)
[![Release](https://img.shields.io/github/v/release/tiennm99/ghstats?color=blue)](https://github.com/tiennm99/ghstats/releases/latest)
[![License](https://img.shields.io/github/license/tiennm99/ghstats?color=green)](./LICENSE)
[![Marketplace](https://img.shields.io/badge/Marketplace-ghglance-2f81f7?logo=github)](https://github.com/marketplace/actions/ghglance)
[![Release](https://img.shields.io/github/v/release/tiennm99/ghglance?color=blue)](https://github.com/tiennm99/ghglance/releases/latest)
[![License](https://img.shields.io/github/license/tiennm99/ghglance?color=green)](./LICENSE)
`ghstats` is a single-binary CLI (and a GitHub Action wrapping it) that fetches
`ghglance` is a single-binary CLI (and a GitHub Action wrapping it) that fetches
data for a GitHub user and writes a themed set of SVGs you can embed in your
profile README.
profile README. The same binary can also [run as a web UI](#run-the-web-ui)
where anyone submits a username and gets the cards back.
Marketplace listing: **[ghstats-cards](https://github.com/marketplace/actions/ghstats-cards)** · Source: [`tiennm99/ghstats`](https://github.com/tiennm99/ghstats)
Marketplace listing: **[ghglance](https://github.com/marketplace/actions/ghglance)** · Source: [`tiennm99/ghglance`](https://github.com/tiennm99/ghglance)
Cards rendered:
| # | Card | What it shows |
| --- | --- | --- |
| 0 | Profile details | Login (Name) title + Octicon-labelled rows for company, location, link, join date (with age), followers/following, public repos |
| 0 | Profile details | Login (Name) title + Octicon-labelled rows for company, location, link, join date (with age), followers/following, repo count |
| 1 | Repos per language | Donut + legend: how many owned non-fork repos use each language as primary |
| 2 | Most commit language (last year) | Donut + legend: last-year commits byte-weighted across each repo's language breakdown |
| 3 | Stats | Star, commit (lifetime + last-year), PR, issue, PR-review, contributed-to totals |
| 4 | Productive time (last year) | 24-hour bar chart with axes, title includes `UTC±N.NN` |
| 5 | Contributions (last year) | Smooth monthly area chart, Y-axis mirrored both sides, `mm/yy` labels |
| 6 | **Most commit language (all time)** | Same as #2 but over lifetime commits |
| 7 | **Productive time (all time)** | Same as #4 but over lifetime commits |
| 8 | **Contributions (all time)** | Area chart across every active year, auto-thinned x-axis labels |
| 5 | Productive weekday (last year) | 7-bar day-of-week chart, peak day highlighted |
| 6 | Contributions (last year) | Smooth monthly area chart, Y-axis mirrored both sides, `mm/yy` labels |
| 7 | Contributions heatmap | Classic 7×53 calendar grid with theme-derived intensity ramp and legend |
| 8 | Top starred repos | Top 7 owned non-fork repos by ⭐, language dot + proportional bar |
| 9 | Streak | Current streak, longest streak, active days / total days with date ranges |
| 10 | **Most commit language (all time)** | Same as #2 but over lifetime commits |
| 11 | **Productive time (all time)** | Same as #4 but over lifetime commits |
| 12 | **Productive weekday (all time)** | Same as #5 but over lifetime commits |
| 13 | **Contributions (all time)** | Area chart across every active year, auto-thinned x-axis labels |
| 14 | **Contributions by year** | One bar per active year, peak year highlighted |
| 15 | **Records (all time)** | Six personal-best rows: peak day, peak month, first contribution, lifetime active days, account age, languages used |
Live dracula sample ships in [`output/dracula/`](./output/dracula).
## Preview — dracula theme
Live render against the author's profile, committed by [`.github/workflows/demo.yml`](./.github/workflows/demo.yml) on every push to `main`. Rendered with `start_of_week: monday` so the heatmap rows and weekday bars start on Mon, and `include_org_repos` on so repos under the author's orgs count toward the repo and language totals. Other 64 themes in the [**demo gallery**](./demo).
<div align="center">
<table>
<tr><td><img src="./demo/dracula/profile-details.svg" alt="profile-details" /></td><td><img src="./demo/dracula/stats.svg" alt="stats" /></td></tr>
<tr><td><img src="./demo/dracula/repos-per-language.svg" alt="repos-per-language" /></td><td><img src="./demo/dracula/top-starred-repos.svg" alt="top-starred-repos" /></td></tr>
<tr><td><img src="./demo/dracula/contributions-by-year.svg" alt="contributions-by-year" /></td><td><img src="./demo/dracula/contributions-heatmap.svg" alt="contributions-heatmap" /></td></tr>
<tr><td><img src="./demo/dracula/records.svg" alt="records" /></td><td><img src="./demo/dracula/streak.svg" alt="streak" /></td></tr>
<tr><th>Last year</th><th>All time</th></tr>
<tr><td><img src="./demo/dracula/most-commit-language.svg" alt="most-commit-language" /></td><td><img src="./demo/dracula/most-commit-language-all-time.svg" alt="most-commit-language-all-time" /></td></tr>
<tr><td><img src="./demo/dracula/contributions.svg" alt="contributions" /></td><td><img src="./demo/dracula/contributions-all-time.svg" alt="contributions-all-time" /></td></tr>
<tr><td><img src="./demo/dracula/productive-weekday.svg" alt="productive-weekday" /></td><td><img src="./demo/dracula/productive-weekday-all-time.svg" alt="productive-weekday-all-time" /></td></tr>
<tr><td><img src="./demo/dracula/productive-time.svg" alt="productive-time" /></td><td><img src="./demo/dracula/productive-time-all-time.svg" alt="productive-time-all-time" /></td></tr>
</table>
</div>
## In the wild
- [**tiennm99/tiennm99**](https://github.com/tiennm99/tiennm99) — author's profile README, refreshed daily via `tiennm99/ghglance@v1`. Two-per-row layout, dracula theme.
## Use as a GitHub Action (recommended)
Drop this in `.github/workflows/ghstats.yml` in your **profile repo** (the one
Drop this in `.github/workflows/ghglance.yml` in your **profile repo** (the one
named after your username):
```yaml
name: ghstats
name: ghglance
on:
schedule:
@@ -49,14 +79,15 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: tiennm99/ghstats@v1
- uses: tiennm99/ghglance@v1
with:
user: ${{ github.repository_owner }}
token: ${{ secrets.GHSTATS_TOKEN }} # classic PAT with read:user + repo
token: ${{ secrets.GHGLANCE_TOKEN }} # classic PAT with read:user + repo
themes: dracula,github_dark,tokyonight
tz: Asia/Saigon
include_forks: "true"
include_private: "true"
include_org_repos: "false" # "true" also counts org repos you administer (token needs read:org)
commit_changes: "true"
```
@@ -68,10 +99,17 @@ Then embed the cards in your `README.md`:
![most-commit-language](./output/dracula/most-commit-language.svg)
![stats](./output/dracula/stats.svg)
![productive-time](./output/dracula/productive-time.svg)
![productive-weekday](./output/dracula/productive-weekday.svg)
![contributions](./output/dracula/contributions.svg)
![contributions-heatmap](./output/dracula/contributions-heatmap.svg)
![top-starred-repos](./output/dracula/top-starred-repos.svg)
![streak](./output/dracula/streak.svg)
![most-commit-language-all-time](./output/dracula/most-commit-language-all-time.svg)
![productive-time-all-time](./output/dracula/productive-time-all-time.svg)
![productive-weekday-all-time](./output/dracula/productive-weekday-all-time.svg)
![contributions-all-time](./output/dracula/contributions-all-time.svg)
![contributions-by-year](./output/dracula/contributions-by-year.svg)
![records](./output/dracula/records.svg)
```
### Action inputs
@@ -83,12 +121,14 @@ Then embed the cards in your `README.md`:
| `out` | `output` | Output directory |
| `themes` | `dracula` | Comma-separated theme ids, or `all` |
| `tz` | `UTC` | IANA tz for the productive-time card (e.g. `Asia/Saigon`) |
| `start_of_week` | `sunday` | First day of week for heatmap rows and weekday bars (`sunday`…`saturday`) |
| `top_repos` | `0` | Optional cap on seed repos probed for commit history (`0` = unlimited) |
| `commits_per_repo` | `500` | Max commits sampled per repo (covers last-year and all-time aggregates) |
| `commits_per_repo` | `500` | Max commits sampled per repo, `0` = every commit (covers last-year and all-time aggregates) |
| `include_forks` | `true` | Include forked repos in stats and commit probing |
| `include_private` | `true` | Include private repos (requires PAT with `repo` scope; silently no-op otherwise) |
| `include_org_repos`| `false` | Count org-owned repos you administer toward stars, repo count, languages, top-starred (needs `read:org`) |
| `commit_changes` | `false` | Commit generated cards back to the repo |
| `commit_message` | `chore: update ghstats cards` | Commit message |
| `commit_message` | `chore: update ghglance cards` | Commit message |
| `commit_branch` | *(current ref)* | Target branch for auto-commit |
| `author_name` | `github-actions[bot]` | Commit author |
| `author_email` | `…@users.noreply.github.com` | Commit email |
@@ -96,40 +136,213 @@ Then embed the cards in your `README.md`:
## Use as a CLI
```sh
go install github.com/tiennm99/ghstats@latest
go install github.com/tiennm99/ghglance@latest
```
Or build from source:
```sh
git clone https://github.com/tiennm99/ghstats
cd ghstats
go build -o ghstats .
git clone https://github.com/tiennm99/ghglance
cd ghglance
go build -o ghglance .
```
Then:
```sh
export GITHUB_TOKEN=ghp_xxx
ghstats -user tiennm99 -themes dracula,github_dark -tz Asia/Saigon -out output
ghglance -user tiennm99 -themes dracula,github_dark -tz Asia/Saigon -out output
```
Add `-include-org-repos` to also count org-owned repos you administer:
```sh
ghglance -user tiennm99 -themes dracula -include-org-repos -out output
```
| Flag | Default | Description |
| ------------------- | --------------- | ---------------------------------------------------------------------- |
| `-user` | *(required)* | GitHub username |
| `-token` | `$GITHUB_TOKEN` | Personal access token |
| `-token` | `$GITHUB_TOKEN` | Personal access token (not used by `-serve`) |
| `-out` | `output` | Output directory (`<out>/<theme>/…svg`) |
| `-themes` | `dracula` | Comma-separated theme ids, or `all` |
| `-tz` | `Local` | IANA timezone for productive-time cards |
| `-start-of-week` | `sunday` | First day of week for heatmap rows and weekday bars (`sunday`…`saturday`) |
| `-top-repos` | `0` | Optional cap on seed repos probed (`0` = unlimited) |
| `-commits-per-repo` | `500` | Max commits sampled per repo |
| `-commits-per-repo` | `500` | Max commits sampled per repo, `0` = every commit |
| `-include-forks` | `true` | Include forked repos in the stats |
| `-include-private` | `true` | Include private repos (requires `repo` PAT scope; silently no-op otherwise) |
| `-include-org-repos`| `false` | Count org-owned repos you administer toward stars, repo count, languages, top-starred |
| `-timeout` | `30m` | Overall fetch deadline (per generation job under `-serve`), `0` = no limit |
| `-list-themes` | | Print available theme ids and exit |
| `-serve` | | Run the [web UI](#run-the-web-ui) on this address (e.g. `:8080`) instead of generating once |
| `-data-dir` | `data` | Web UI only: directory holding generated cards |
| `-cooldown` | `6h` | Web UI only: minimum age of a user's cards before a sign-in or token for another account regenerates them |
| `-retention` | `24h` | Web UI only: delete a user's cards this long after they were generated, `0` = keep forever |
| `-workers` | `2` | Web UI only: concurrent generation jobs |
| `-oauth-client-id` | `$GHGLANCE_OAUTH_CLIENT_ID` | Web UI only, required: GitHub OAuth App client ID for [Sign in with GitHub](#sign-in-with-github) |
| `-oauth-client-secret` | `$GHGLANCE_OAUTH_CLIENT_SECRET` | Web UI only, required: that OAuth App's client secret (never printed by `-help`) |
| `-public-url` | `$GHGLANCE_PUBLIC_URL` | Web UI only, required: the site's external origin; the OAuth callback is `<public-url>/auth/callback` |
The web UI flags above (`-serve` through `-public-url`) are server-only:
the Action (`action.yml`, `entrypoint.sh`) does not expose them.
## Run the web UI
`-serve` turns the binary into a small web app for quickly viewing
profile cards: a form takes a GitHub username plus options, the visitor
signs in with GitHub or pastes their own token, a background job renders
all sixteen cards in every theme on that token, and `/u/<username>` shows
them with a theme picker. Cards are stored on disk and survive restarts.
The web UI is for viewing, not hosting: cards are inlined into the page as
`data:` URIs, so there is no card URL to link to or put in Markdown. To
show cards in a README, use the [GitHub Action](#use-as-a-github-action-recommended)
or the [CLI](#use-as-a-cli).
The server has no GitHub token of its own. [Sign in with
GitHub](#sign-in-with-github) must be configured: `-serve` refuses to start
until the OAuth client ID, client secret and public URL are all set.
```sh
export GHGLANCE_OAUTH_CLIENT_SECRET=xxxx # keep the secret out of the command line
ghglance -serve :8080 -data-dir data -retention 24h \
-oauth-client-id Ov23xxxx -public-url http://localhost:8080
# open http://localhost:8080
```
| Path | Serves |
| --- | --- |
| `/` | The submission form |
| `/u/<user>` | The user's cards inlined as `data:` images (`?theme=<id>` picks the theme), or job progress while one runs |
| `/u/<user>/status` | Job status as JSON, polled by the progress page |
| `/auth/start` | Validates the form, then queues the job on a pasted token or redirects to GitHub's consent page |
| `/auth/callback` | Finishes the sign-in and queues the job |
| `/healthz` | Liveness probe |
How submissions are handled:
- **Every job runs on the visitor's token**: a sign-in token, or one they
paste (see [Use your own token](#use-your-own-token)). The token is used
for that one job only: never logged, never written to disk. A token for
the username being generated keeps the ticked private and org repos and
skips the cooldown. A token for someone else renders public data only,
does not skip the cooldown, and is refused outright if it can read
private repositories. The cards are visible on the site to anyone with
the page link.
- **Failures.** A job that fails or times out at any fetch stage publishes
nothing, so an earlier complete set stays in place.
- **Cooldown.** Cards younger than `-cooldown` are not regenerated with a
sign-in or token for another account; the owner's own token skips the
wait.
- **Retention.** Cards are deleted `-retention` (default `24h`) after they
were generated, checked at startup and hourly. The user's page then
offers a fresh generation.
- **Limits.** One queued or running job per user, `-workers` jobs at once,
`-timeout` per job, and five submissions per client followed by one
every two minutes. A client is an IPv4 address or an IPv6 /64. Behind a
reverse proxy on a private or loopback address, the client address comes
from the last `X-Forwarded-For` hop.
### Sign in with GitHub
A visitor ticks their options, clicks **Sign in with GitHub & generate**,
approves once on GitHub, and lands on their cards page while the job runs.
- **Scopes follow the ticks**, never more: `read:user` for public data;
`repo read:user` when private repos are ticked (GitHub has no read-only
private scope); plus `read:org` when org repos are ticked too. The page
shows the list next to the button and updates it as boxes change.
Private repos start unticked.
- **One token per generation.** The server exchanges GitHub's code (with
`state` bound to a short-lived cookie and PKCE `S256`) for a token, runs
one job with it, then revokes it through GitHub's API, whether the job
succeeded, failed or was dropped at shutdown. The token is never logged,
stored or sent to the browser.
- **Fewer permissions granted than asked** downgrade the job to what was
granted, and the user's page says so. Cancelling on GitHub returns to the
form with the options kept.
- **More permissions granted than asked** stop the sign-in: GitHub folds
every scope a user once granted the app into each new token, so a
public-only sign-in after an earlier private one comes back with `repo`.
The token is revoked, nothing is generated, and the form explains how to
match the ticks or revoke the app under GitHub **Settings > Applications
> Authorized OAuth Apps**.
- **Another account.** Signing in as `alice` to generate `bob` renders
public data only, and is refused if private repos were ticked (the token
would then read private repos); untick them to generate someone else.
The browser binding cookie is `__Host-ghglance_oauth` when the public URL
is https, so another site on a sibling subdomain cannot plant it. A plain
`http://` public URL cannot use that prefix, which leaves the binding
weaker; use https outside local testing.
To set it up, register an OAuth App: GitHub **Settings > Developer
settings > OAuth Apps > New OAuth App**, with
- **Homepage URL**: the site's address, e.g. `https://ghglance.example.com`
- **Authorization callback URL**: `<public-url>/auth/callback`, e.g.
`https://ghglance.example.com/auth/callback`
Then generate a client secret and give the server all three values
(`-oauth-client-id`, `-oauth-client-secret`, `-public-url`, or the
`GHGLANCE_OAUTH_CLIENT_ID`, `GHGLANCE_OAUTH_CLIENT_SECRET` and
`GHGLANCE_PUBLIC_URL` environment variables). With any of them missing,
`-serve` exits at startup with an error naming the missing settings.
### Use your own token
Below the sign-in button, a collapsed **Or use your own token** section
takes a token the visitor creates themselves. Its **Create a token on
GitHub** button opens GitHub's new classic token page with `repo` and
`read:user` pre-ticked.
- A non-empty token takes precedence over signing in, whichever button is
pressed, so Enter in the token field never starts a sign-in.
- It goes through the same validation, rate limit, queue, ownership,
privacy and cooldown rules as a sign-in token.
- It is used for that one generation only and never stored, logged or
echoed back into the form. It is not revoked: it belongs to the
visitor, who deletes it on GitHub when done.
Each user takes about 9 MB on disk for an active profile (16 cards × every theme).
### Deploy with Docker Compose or Coolify
[`compose.yml`](./compose.yml) builds the repo's `Dockerfile`, runs
`ghglance -serve :8080 -data-dir /data`, keeps cards in the `ghglance-data`
volume, and health-checks `/healthz`. It publishes no host port: Coolify's
proxy routes the domain it generates for `SERVICE_FQDN_GHGLANCE_8080` to
port 8080 in the container.
In Coolify:
1. Create a resource from this Git repository with the **Docker Compose**
build pack and compose file `/compose.yml`.
2. Register the [OAuth App](#sign-in-with-github) and set
`GHGLANCE_OAUTH_CLIENT_ID`, `GHGLANCE_OAUTH_CLIENT_SECRET` and
`GHGLANCE_PUBLIC_URL` (see [`.env.example`](./.env.example)); the public
URL is the domain from step 3, e.g. `https://ghglance.example.com`.
`compose.yml` requires all three and refuses to start without them.
3. Keep the generated domain or set your own on the `ghglance` service, then
deploy.
On a plain Docker host, copy `.env.example` to `.env`, fill in the three
sign-in values, add a `ports: ["8080:8080"]` entry to the service, and run
(`.dockerignore` keeps `.env` and `data/` out of the image context):
```sh
docker compose up -d --build
```
The Action image is unchanged: `compose.yml` overrides the entrypoint, so
the Action still runs `entrypoint.sh`.
## How attribution works
**Repo sampling** uses a seed list built from `contributionsCollection.commitContributionsByRepository`, unioned across every active contribution year. This catches every repo you've committed in — not just your top-starred ones.
**Repo sampling** uses a seed list built from `contributionsCollection.commitContributionsByRepository`, unioned across every active contribution year. This catches every repo you've committed in — not just your top-starred ones. Each year is queried a quarter at a time: the API caps that field at 100 repos per query and drops the rest without saying so, which a prolific year hits easily. A quarter that still comes back at the cap is re-asked month by month to recover the tail.
**Which repos count where.** The commit-driven cards (most-commit-language, productive time, productive weekday, and everything derived from the contribution calendar) cover repos in *any* namespace you committed to — your own, your orgs', and upstream repos you sent PRs to. The repo-driven cards (stars, repo count, repos-per-language, top-starred) look only at repos you own. Set `include_org_repos` / `-include-org-repos` to also count org-owned repos where your permission is `ADMIN`; org repos you merely have read or write access to are never counted.
**Commit-to-language** is byte-weighted: each commit credits every language in the repo, proportional to linguist's byte share. A commit to a 60% Go / 40% Python repo adds 0.6 to Go and 0.4 to Python, regardless of which file was touched. Caveats:
@@ -137,16 +350,17 @@ ghstats -user tiennm99 -themes dracula,github_dark -tz Asia/Saigon -out output
- For per-file accuracy, a future `-accurate-languages` mode is planned (per-commit REST + go-enry).
**Cost per run** (current defaults, typical user):
- ~1 profile query + ~1 query per active year + ~50 commit-history pages ≈ **50-70 GraphQL calls**.
- ~1 profile query + ~4 queries per active year (+3 for any quarter that saturates) + ~50 commit-history pages ≈ **80-100 GraphQL calls**.
- Zero REST calls. Well under the 5000 points/hr budget.
## Themes
Run `ghstats -list-themes` for the full list (60+ themes ported from
Run `ghglance -list-themes` for the full list (65 themes ported from
github-profile-summary-cards). Built-ins include `default`, `dark`, `dracula`,
`github`, `github_dark`, `tokyonight`, `onedark`, `nord_dark`, `nord_bright`,
`gruvbox`, `radical`, `synthwave`, `monokai`, `solarized`, `solarized_dark`,
`transparent`, and more.
`transparent`, and more. Preview every one against real profile data in the
[demo gallery](./demo).
## Output
@@ -158,25 +372,37 @@ output/
most-commit-language.svg
stats.svg
productive-time.svg
productive-weekday.svg
contributions.svg
contributions-heatmap.svg
top-starred-repos.svg
streak.svg
most-commit-language-all-time.svg
productive-time-all-time.svg
productive-weekday-all-time.svg
contributions-all-time.svg
contributions-by-year.svg
records.svg
```
Only the `dracula` theme is tracked in git as a reference sample; other
themes are rebuilt on each run and gitignored.
`output/` is entirely gitignored — it's regenerated on each run. For a
reference render of every card in every theme, see the CI-built
[`demo/`](./demo) gallery instead.
## Tokens & permissions
The default `${{ github.token }}` can read public user data but will not see
your private-repo commits. For accurate stats, create a **classic** personal
access token with `read:user` and `repo`, save it as a repo secret (e.g.
`GHSTATS_TOKEN`), and pass it via the `token` input. `include_private`
`GHGLANCE_TOKEN`), and pass it via the `token` input. `include_private`
defaults to `true` so those commits are counted automatically once the token
has `repo` scope; pass `include_private: "false"` if you want to keep private
work out of the rendered cards even when the token can see it.
Enabling `include_org_repos` additionally needs `read:org` on the token, and
SSO authorization for any org that enforces it — otherwise those repos stay
invisible and the input silently changes nothing.
## Credits & inspiration
- [**github-profile-summary-cards**](https://github.com/vn7n24fzkq/github-profile-summary-cards) by [@vn7n24fzkq](https://github.com/vn7n24fzkq) — card layout, chart styles, theme palette, Octicon selection, and output structure.
+14 -3
View File
@@ -1,4 +1,4 @@
name: ghstats-cards
name: ghglance
description: Generate GitHub profile summary SVG cards (profile, languages, stats, productive time, contributions)
author: tiennm99
branding:
@@ -27,12 +27,16 @@ inputs:
description: IANA timezone for the productive-time heatmap (e.g. Asia/Saigon)
required: false
default: UTC
start_of_week:
description: First day of week for heatmap rows and weekday bars (sunday|monday|tuesday|…)
required: false
default: sunday
top_repos:
description: Optional cap on seed repos probed for commit history (0 = unlimited)
required: false
default: "0"
commits_per_repo:
description: Max commits sampled per repo (covers last-year and all-time aggregates)
description: Max commits sampled per repo, `0` for every commit (covers last-year and all-time aggregates)
required: false
default: "500"
include_forks:
@@ -43,6 +47,13 @@ inputs:
description: Include private repos (requires PAT with repo scope; silently no-op otherwise)
required: false
default: "true"
include_org_repos:
description: |
Count org-owned repos you administer toward stars, repo count, repos-per-language
and top-starred. Off by default because it changes those totals; commit-based cards
already include org repos either way. Needs a PAT with `read:org`.
required: false
default: "false"
commit_changes:
description: Whether to commit the generated cards back to the repo
required: false
@@ -50,7 +61,7 @@ inputs:
commit_message:
description: Commit message used when commit_changes is true
required: false
default: "chore: update ghstats cards"
default: "chore: update ghglance cards"
commit_branch:
description: Branch to commit to (defaults to the current ref)
required: false
+30
View File
@@ -0,0 +1,30 @@
# ghglance web UI, built from this repo's Dockerfile.
services:
ghglance:
build: .
entrypoint: ["ghglance"]
command: ["-serve", ":8080", "-data-dir", "/data", "-retention", "24h"]
restart: unless-stopped
# Tells Coolify's proxy which container port to route to, even when the
# domain is entered without a ":8080" suffix.
expose:
- "8080"
environment:
- SERVICE_FQDN_GHGLANCE_8080
# "Sign in with GitHub" (a GitHub OAuth App) is required. The server
# has no token of its own: every generation runs on the visitor's
# sign-in token or a token they paste into the form.
- GHGLANCE_OAUTH_CLIENT_ID=${GHGLANCE_OAUTH_CLIENT_ID:?set the GitHub OAuth App client ID}
- GHGLANCE_OAUTH_CLIENT_SECRET=${GHGLANCE_OAUTH_CLIENT_SECRET:?set the GitHub OAuth App client secret}
- GHGLANCE_PUBLIC_URL=${GHGLANCE_PUBLIC_URL:?set the external origin, e.g. https://ghglance.example.com}
volumes:
- ghglance-data:/data
healthcheck:
test: ["CMD", "wget", "-qO-", "http://127.0.0.1:8080/healthz"]
interval: 30s
timeout: 5s
retries: 3
start_period: 10s
volumes:
ghglance-data:
+21
View File
@@ -0,0 +1,21 @@
# ghglance — 2077
[← back to index](../README.md)
Rendered for [`tiennm99`](https://github.com/tiennm99). 16 SVGs laid out to match the author profile README table.
<div align="center">
<table>
<tr><td><img src="./profile-details.svg" alt="profile-details" /></td><td><img src="./stats.svg" alt="stats" /></td></tr>
<tr><td><img src="./repos-per-language.svg" alt="repos-per-language" /></td><td><img src="./top-starred-repos.svg" alt="top-starred-repos" /></td></tr>
<tr><td><img src="./contributions-by-year.svg" alt="contributions-by-year" /></td><td><img src="./contributions-heatmap.svg" alt="contributions-heatmap" /></td></tr>
<tr><td><img src="./records.svg" alt="records" /></td><td><img src="./streak.svg" alt="streak" /></td></tr>
<tr><th>Last year</th><th>All time</th></tr>
<tr><td><img src="./most-commit-language.svg" alt="most-commit-language" /></td><td><img src="./most-commit-language-all-time.svg" alt="most-commit-language-all-time" /></td></tr>
<tr><td><img src="./contributions.svg" alt="contributions" /></td><td><img src="./contributions-all-time.svg" alt="contributions-all-time" /></td></tr>
<tr><td><img src="./productive-weekday.svg" alt="productive-weekday" /></td><td><img src="./productive-weekday-all-time.svg" alt="productive-weekday-all-time" /></td></tr>
<tr><td><img src="./productive-time.svg" alt="productive-time" /></td><td><img src="./productive-time-all-time.svg" alt="productive-time-all-time" /></td></tr>
</table>
</div>
+42
View File
@@ -0,0 +1,42 @@
<svg xmlns="http://www.w3.org/2000/svg" width="340" height="200" viewBox="0 0 340 200" font-family="'Segoe UI', Ubuntu, Sans-Serif">
<rect x="0.5" y="0.5" width="339" height="199" rx="6" fill="#141321" stroke="#141321" stroke-opacity="1.00"/>
<text x="20" y="30" font-size="15" font-weight="600" fill="#ff0055">Contributions (all time)</text>
<line x1="28" y1="45" x2="28" y2="150" stroke="#fcee0c"/>
<line x1="312" y1="45" x2="312" y2="150" stroke="#fcee0c"/>
<line x1="24" y1="150" x2="28" y2="150" stroke="#fcee0c"/>
<text x="22" y="153" font-size="10" fill="#fcee0c" text-anchor="end">0</text>
<line x1="312" y1="150" x2="316" y2="150" stroke="#fcee0c"/>
<text x="318" y="153" font-size="10" fill="#fcee0c" text-anchor="start">0</text>
<line x1="24" y1="124" x2="28" y2="124" stroke="#fcee0c"/>
<text x="22" y="127" font-size="10" fill="#fcee0c" text-anchor="end">500</text>
<line x1="312" y1="124" x2="316" y2="124" stroke="#fcee0c"/>
<text x="318" y="127" font-size="10" fill="#fcee0c" text-anchor="start">500</text>
<line x1="24" y1="98" x2="28" y2="98" stroke="#fcee0c"/>
<text x="22" y="101" font-size="10" fill="#fcee0c" text-anchor="end">1k</text>
<line x1="312" y1="98" x2="316" y2="98" stroke="#fcee0c"/>
<text x="318" y="101" font-size="10" fill="#fcee0c" text-anchor="start">1k</text>
<line x1="24" y1="72" x2="28" y2="72" stroke="#fcee0c"/>
<text x="22" y="75" font-size="10" fill="#fcee0c" text-anchor="end">1.5k</text>
<line x1="312" y1="72" x2="316" y2="72" stroke="#fcee0c"/>
<text x="318" y="75" font-size="10" fill="#fcee0c" text-anchor="start">1.5k</text>
<line x1="24" y1="45" x2="28" y2="45" stroke="#fcee0c"/>
<text x="22" y="48" font-size="10" fill="#fcee0c" text-anchor="end">2k</text>
<line x1="312" y1="45" x2="316" y2="45" stroke="#fcee0c"/>
<text x="318" y="48" font-size="10" fill="#fcee0c" text-anchor="start">2k</text>
<line x1="28" y1="150" x2="312" y2="150" stroke="#fcee0c"/>
<line x1="28" y1="150" x2="28" y2="154" stroke="#fcee0c"/>
<text x="28" y="166" font-size="10" fill="#fcee0c" text-anchor="middle">01/18</text>
<line x1="84" y1="150" x2="84" y2="154" stroke="#fcee0c"/>
<text x="84" y="166" font-size="10" fill="#fcee0c" text-anchor="middle">10/19</text>
<line x1="141" y1="150" x2="141" y2="154" stroke="#fcee0c"/>
<text x="141" y="166" font-size="10" fill="#fcee0c" text-anchor="middle">07/21</text>
<line x1="198" y1="150" x2="198" y2="154" stroke="#fcee0c"/>
<text x="198" y="166" font-size="10" fill="#fcee0c" text-anchor="middle">04/23</text>
<line x1="255" y1="150" x2="255" y2="154" stroke="#fcee0c"/>
<text x="255" y="166" font-size="10" fill="#fcee0c" text-anchor="middle">01/25</text>
<line x1="312" y1="150" x2="312" y2="154" stroke="#fcee0c"/>
<text x="312" y="166" font-size="10" fill="#fcee0c" text-anchor="middle">10/26</text>
<path d="M28.00,150.00 C28.45,150.00 29.80,150.00 30.70,150.00 C31.61,150.00 32.51,150.00 33.41,150.00 C34.31,150.00 35.21,150.01 36.11,150.00 C37.02,149.99 37.92,150.13 38.82,149.95 C39.72,149.76 40.62,148.89 41.52,148.90 C42.43,148.91 43.33,149.82 44.23,150.00 C45.13,150.18 46.03,150.03 46.93,150.00 C47.83,149.97 48.74,149.97 49.64,149.79 C50.54,149.61 51.44,148.99 52.34,148.95 C53.24,148.91 54.15,149.35 55.05,149.53 C55.95,149.70 56.85,149.93 57.75,150.00 C58.65,150.07 59.56,149.95 60.46,149.95 C61.36,149.95 62.26,149.99 63.16,150.00 C64.06,150.01 64.97,150.00 65.87,150.00 C66.77,150.00 67.67,150.00 68.57,150.00 C69.47,150.00 70.37,150.00 71.28,150.00 C72.18,150.00 73.08,150.01 73.98,150.00 C74.88,149.99 75.78,150.08 76.69,149.95 C77.59,149.82 78.49,149.20 79.39,149.21 C80.29,149.22 81.19,149.87 82.10,150.00 C83.00,150.13 83.90,150.03 84.80,150.00 C85.70,149.97 86.60,149.84 87.50,149.84 C88.41,149.84 89.31,149.97 90.21,150.00 C91.11,150.03 92.01,150.00 92.91,150.00 C93.82,150.00 94.72,150.05 95.62,150.00 C96.52,149.95 97.42,149.69 98.32,149.69 C99.23,149.69 100.13,149.97 101.03,150.00 C101.93,150.03 102.83,149.95 103.73,149.90 C104.63,149.84 105.54,149.68 106.44,149.69 C107.34,149.69 108.24,150.12 109.14,149.95 C110.04,149.77 110.95,148.63 111.85,148.63 C112.75,148.63 113.65,149.89 114.55,149.95 C115.45,150.00 116.36,148.95 117.26,148.95 C118.16,148.95 119.06,149.77 119.96,149.95 C120.86,150.12 121.77,149.99 122.67,150.00 C123.57,150.01 124.47,150.05 125.37,150.00 C126.27,149.95 127.17,149.80 128.08,149.69 C128.98,149.57 129.88,149.33 130.78,149.32 C131.68,149.31 132.58,149.52 133.49,149.63 C134.39,149.75 135.29,149.94 136.19,150.00 C137.09,150.06 137.99,150.00 138.90,150.00 C139.80,150.00 140.70,150.03 141.60,150.00 C142.50,149.97 143.40,149.89 144.30,149.79 C145.21,149.69 146.11,149.46 147.01,149.42 C147.91,149.39 148.81,149.48 149.71,149.58 C150.62,149.68 151.52,149.94 152.42,150.00 C153.32,150.06 154.22,149.98 155.12,149.95 C156.03,149.91 156.93,149.86 157.83,149.79 C158.73,149.72 159.63,149.59 160.53,149.53 C161.43,149.47 162.34,149.41 163.24,149.42 C164.14,149.43 165.04,149.48 165.94,149.58 C166.84,149.68 167.75,150.11 168.65,150.00 C169.55,149.89 170.45,149.14 171.35,148.95 C172.25,148.76 173.16,148.68 174.06,148.84 C174.96,149.01 175.86,149.92 176.76,149.95 C177.66,149.97 178.57,149.36 179.47,149.00 C180.37,148.64 181.27,148.36 182.17,147.79 C183.07,147.23 183.97,146.16 184.88,145.59 C185.78,145.02 186.68,143.65 187.58,144.38 C188.48,145.12 189.38,149.33 190.29,150.00 C191.19,150.67 192.09,148.74 192.99,148.43 C193.89,148.11 194.79,148.03 195.70,148.11 C196.60,148.19 197.50,149.06 198.40,148.90 C199.30,148.73 200.20,147.24 201.10,147.11 C202.01,146.99 202.91,147.80 203.81,148.16 C204.71,148.52 205.61,149.45 206.51,149.26 C207.42,149.08 208.32,148.48 209.22,147.06 C210.12,145.64 211.02,140.82 211.92,140.76 C212.83,140.70 213.73,145.26 214.63,146.69 C215.53,148.13 216.43,149.02 217.33,149.37 C218.23,149.72 219.14,148.70 220.04,148.79 C220.94,148.89 221.84,149.75 222.74,149.95 C223.64,150.15 224.55,150.24 225.45,150.00 C226.35,149.76 227.25,149.80 228.15,148.53 C229.05,147.26 229.96,142.87 230.86,142.39 C231.76,141.91 232.66,144.51 233.56,145.64 C234.46,146.77 235.37,148.50 236.27,149.16 C237.17,149.82 238.07,149.86 238.97,149.63 C239.87,149.41 240.77,148.17 241.68,147.79 C242.58,147.42 243.48,147.53 244.38,147.38 C245.28,147.22 246.18,146.57 247.09,146.85 C247.99,147.13 248.89,148.75 249.79,149.06 C250.69,149.36 251.59,148.65 252.50,148.69 C253.40,148.72 254.30,150.03 255.20,149.26 C256.10,148.49 257.00,145.09 257.90,144.07 C258.81,143.04 259.71,143.47 260.61,143.12 C261.51,142.77 262.41,142.48 263.31,141.97 C264.22,141.45 265.12,139.37 266.02,140.03 C266.92,140.68 267.82,144.86 268.72,145.91 C269.63,146.95 270.53,146.56 271.43,146.32 C272.33,146.09 273.23,144.44 274.13,144.49 C275.03,144.53 275.94,146.96 276.84,146.59 C277.74,146.22 278.64,144.73 279.54,142.28 C280.44,139.83 281.35,132.50 282.25,131.89 C283.15,131.27 284.05,135.94 284.95,138.61 C285.85,141.28 286.76,147.71 287.66,147.90 C288.56,148.09 289.46,144.62 290.36,139.76 C291.26,134.91 292.17,132.47 293.07,118.76 C293.97,105.05 294.87,64.85 295.77,57.50 C296.67,50.14 297.57,64.62 298.48,74.61 C299.38,84.60 300.28,113.99 301.18,117.45 C302.08,120.91 302.98,96.41 303.89,95.35 C304.79,94.29 305.69,108.64 306.59,111.10 C307.49,113.56 308.39,107.32 309.30,110.10 C310.20,112.88 311.55,124.84 312.00,127.79 L312.00,150.00 L28.00,150.00 Z" fill="#00ffc8" fill-opacity="0.25" stroke="none"/>
<path d="M28.00,150.00 C28.45,150.00 29.80,150.00 30.70,150.00 C31.61,150.00 32.51,150.00 33.41,150.00 C34.31,150.00 35.21,150.01 36.11,150.00 C37.02,149.99 37.92,150.13 38.82,149.95 C39.72,149.76 40.62,148.89 41.52,148.90 C42.43,148.91 43.33,149.82 44.23,150.00 C45.13,150.18 46.03,150.03 46.93,150.00 C47.83,149.97 48.74,149.97 49.64,149.79 C50.54,149.61 51.44,148.99 52.34,148.95 C53.24,148.91 54.15,149.35 55.05,149.53 C55.95,149.70 56.85,149.93 57.75,150.00 C58.65,150.07 59.56,149.95 60.46,149.95 C61.36,149.95 62.26,149.99 63.16,150.00 C64.06,150.01 64.97,150.00 65.87,150.00 C66.77,150.00 67.67,150.00 68.57,150.00 C69.47,150.00 70.37,150.00 71.28,150.00 C72.18,150.00 73.08,150.01 73.98,150.00 C74.88,149.99 75.78,150.08 76.69,149.95 C77.59,149.82 78.49,149.20 79.39,149.21 C80.29,149.22 81.19,149.87 82.10,150.00 C83.00,150.13 83.90,150.03 84.80,150.00 C85.70,149.97 86.60,149.84 87.50,149.84 C88.41,149.84 89.31,149.97 90.21,150.00 C91.11,150.03 92.01,150.00 92.91,150.00 C93.82,150.00 94.72,150.05 95.62,150.00 C96.52,149.95 97.42,149.69 98.32,149.69 C99.23,149.69 100.13,149.97 101.03,150.00 C101.93,150.03 102.83,149.95 103.73,149.90 C104.63,149.84 105.54,149.68 106.44,149.69 C107.34,149.69 108.24,150.12 109.14,149.95 C110.04,149.77 110.95,148.63 111.85,148.63 C112.75,148.63 113.65,149.89 114.55,149.95 C115.45,150.00 116.36,148.95 117.26,148.95 C118.16,148.95 119.06,149.77 119.96,149.95 C120.86,150.12 121.77,149.99 122.67,150.00 C123.57,150.01 124.47,150.05 125.37,150.00 C126.27,149.95 127.17,149.80 128.08,149.69 C128.98,149.57 129.88,149.33 130.78,149.32 C131.68,149.31 132.58,149.52 133.49,149.63 C134.39,149.75 135.29,149.94 136.19,150.00 C137.09,150.06 137.99,150.00 138.90,150.00 C139.80,150.00 140.70,150.03 141.60,150.00 C142.50,149.97 143.40,149.89 144.30,149.79 C145.21,149.69 146.11,149.46 147.01,149.42 C147.91,149.39 148.81,149.48 149.71,149.58 C150.62,149.68 151.52,149.94 152.42,150.00 C153.32,150.06 154.22,149.98 155.12,149.95 C156.03,149.91 156.93,149.86 157.83,149.79 C158.73,149.72 159.63,149.59 160.53,149.53 C161.43,149.47 162.34,149.41 163.24,149.42 C164.14,149.43 165.04,149.48 165.94,149.58 C166.84,149.68 167.75,150.11 168.65,150.00 C169.55,149.89 170.45,149.14 171.35,148.95 C172.25,148.76 173.16,148.68 174.06,148.84 C174.96,149.01 175.86,149.92 176.76,149.95 C177.66,149.97 178.57,149.36 179.47,149.00 C180.37,148.64 181.27,148.36 182.17,147.79 C183.07,147.23 183.97,146.16 184.88,145.59 C185.78,145.02 186.68,143.65 187.58,144.38 C188.48,145.12 189.38,149.33 190.29,150.00 C191.19,150.67 192.09,148.74 192.99,148.43 C193.89,148.11 194.79,148.03 195.70,148.11 C196.60,148.19 197.50,149.06 198.40,148.90 C199.30,148.73 200.20,147.24 201.10,147.11 C202.01,146.99 202.91,147.80 203.81,148.16 C204.71,148.52 205.61,149.45 206.51,149.26 C207.42,149.08 208.32,148.48 209.22,147.06 C210.12,145.64 211.02,140.82 211.92,140.76 C212.83,140.70 213.73,145.26 214.63,146.69 C215.53,148.13 216.43,149.02 217.33,149.37 C218.23,149.72 219.14,148.70 220.04,148.79 C220.94,148.89 221.84,149.75 222.74,149.95 C223.64,150.15 224.55,150.24 225.45,150.00 C226.35,149.76 227.25,149.80 228.15,148.53 C229.05,147.26 229.96,142.87 230.86,142.39 C231.76,141.91 232.66,144.51 233.56,145.64 C234.46,146.77 235.37,148.50 236.27,149.16 C237.17,149.82 238.07,149.86 238.97,149.63 C239.87,149.41 240.77,148.17 241.68,147.79 C242.58,147.42 243.48,147.53 244.38,147.38 C245.28,147.22 246.18,146.57 247.09,146.85 C247.99,147.13 248.89,148.75 249.79,149.06 C250.69,149.36 251.59,148.65 252.50,148.69 C253.40,148.72 254.30,150.03 255.20,149.26 C256.10,148.49 257.00,145.09 257.90,144.07 C258.81,143.04 259.71,143.47 260.61,143.12 C261.51,142.77 262.41,142.48 263.31,141.97 C264.22,141.45 265.12,139.37 266.02,140.03 C266.92,140.68 267.82,144.86 268.72,145.91 C269.63,146.95 270.53,146.56 271.43,146.32 C272.33,146.09 273.23,144.44 274.13,144.49 C275.03,144.53 275.94,146.96 276.84,146.59 C277.74,146.22 278.64,144.73 279.54,142.28 C280.44,139.83 281.35,132.50 282.25,131.89 C283.15,131.27 284.05,135.94 284.95,138.61 C285.85,141.28 286.76,147.71 287.66,147.90 C288.56,148.09 289.46,144.62 290.36,139.76 C291.26,134.91 292.17,132.47 293.07,118.76 C293.97,105.05 294.87,64.85 295.77,57.50 C296.67,50.14 297.57,64.62 298.48,74.61 C299.38,84.60 300.28,113.99 301.18,117.45 C302.08,120.91 302.98,96.41 303.89,95.35 C304.79,94.29 305.69,108.64 306.59,111.10 C307.49,113.56 308.39,107.32 309.30,110.10 C310.20,112.88 311.55,124.84 312.00,127.79" fill="none" stroke="#00ffc8" stroke-width="2"/>
<text x="170" y="184" font-size="11" fill="#fcee0c" text-anchor="middle">mm/yy</text>
</svg>

After

Width:  |  Height:  |  Size: 12 KiB

+30
View File
@@ -0,0 +1,30 @@
<svg xmlns="http://www.w3.org/2000/svg" width="340" height="200" viewBox="0 0 340 200" font-family="'Segoe UI', Ubuntu, Sans-Serif">
<rect x="0.5" y="0.5" width="339" height="199" rx="6" fill="#141321" stroke="#141321" stroke-opacity="1.00"/>
<text x="20" y="30" font-size="15" font-weight="600" fill="#ff0055">Contributions by Year</text>
<line x1="35" y1="45" x2="35" y2="155" stroke="#fcee0c"/>
<line x1="31" y1="155" x2="35" y2="155" stroke="#fcee0c"/>
<text x="29" y="158" font-size="10" fill="#fcee0c" text-anchor="end">0</text>
<line x1="31" y1="128" x2="35" y2="128" stroke="#fcee0c"/>
<text x="29" y="131" font-size="10" fill="#fcee0c" text-anchor="end">2k</text>
<line x1="31" y1="100" x2="35" y2="100" stroke="#fcee0c"/>
<text x="29" y="103" font-size="10" fill="#fcee0c" text-anchor="end">4k</text>
<line x1="31" y1="73" x2="35" y2="73" stroke="#fcee0c"/>
<text x="29" y="76" font-size="10" fill="#fcee0c" text-anchor="end">6k</text>
<line x1="31" y1="45" x2="35" y2="45" stroke="#fcee0c"/>
<text x="29" y="48" font-size="10" fill="#fcee0c" text-anchor="end">8k</text>
<line x1="35" y1="155" x2="325" y2="155" stroke="#fcee0c"/>
<rect x="35.00" y="154.24" width="30.44" height="0.76" rx="2" fill="#09947c"><title>2018 — 55 commits</title></rect>
<text x="50.22" y="169" font-size="10" fill="#fcee0c" text-anchor="middle">2018</text>
<rect x="67.44" y="154.72" width="30.44" height="0.28" rx="2" fill="#09947c"><title>2019 — 20 commits</title></rect>
<rect x="99.89" y="154.13" width="30.44" height="0.87" rx="2" fill="#09947c"><title>2020 — 63 commits</title></rect>
<text x="115.11" y="169" font-size="10" fill="#fcee0c" text-anchor="middle">2020</text>
<rect x="132.33" y="154.31" width="30.44" height="0.69" rx="2" fill="#09947c"><title>2021 — 50 commits</title></rect>
<rect x="164.78" y="150.50" width="30.44" height="4.50" rx="2" fill="#09947c"><title>2022 — 327 commits</title></rect>
<text x="180.00" y="169" font-size="10" fill="#fcee0c" text-anchor="middle">2022</text>
<rect x="197.22" y="147.84" width="30.44" height="7.16" rx="2" fill="#09947c"><title>2023 — 521 commits</title></rect>
<rect x="229.67" y="148.47" width="30.44" height="6.53" rx="2" fill="#09947c"><title>2024 — 475 commits</title></rect>
<text x="244.89" y="169" font-size="10" fill="#fcee0c" text-anchor="middle">2024</text>
<rect x="262.11" y="132.62" width="30.44" height="22.39" rx="2" fill="#09947c"><title>2025 — 1628 commits</title></rect>
<rect x="294.56" y="50.32" width="30.44" height="104.68" rx="2" fill="#00ffc8"><title>2026 — 7613 commits</title></rect>
<text x="309.78" y="169" font-size="10" fill="#fcee0c" text-anchor="middle">2026</text>
</svg>

After

Width:  |  Height:  |  Size: 2.7 KiB

+391
View File
@@ -0,0 +1,391 @@
<svg xmlns="http://www.w3.org/2000/svg" width="340" height="200" viewBox="0 0 340 200" font-family="'Segoe UI', Ubuntu, Sans-Serif">
<rect x="0.5" y="0.5" width="339" height="199" rx="6" fill="#141321" stroke="#141321" stroke-opacity="1.00"/>
<text x="20" y="30" font-size="15" font-weight="600" fill="#ff0055">Contributions (last year)</text>
<text x="26" y="61" font-size="10" fill="#fcee0c" text-anchor="end">Tue</text>
<text x="26" y="79" font-size="10" fill="#fcee0c" text-anchor="end">Thu</text>
<text x="26" y="97" font-size="10" fill="#fcee0c" text-anchor="end">Sat</text>
<text x="39" y="41" font-size="10" fill="#fcee0c">Oct</text>
<text x="75" y="41" font-size="10" fill="#fcee0c">Nov</text>
<text x="111" y="41" font-size="10" fill="#fcee0c">Dec</text>
<text x="156" y="41" font-size="10" fill="#fcee0c">Jan</text>
<text x="192" y="41" font-size="10" fill="#fcee0c">Feb</text>
<text x="228" y="41" font-size="10" fill="#fcee0c">Mar</text>
<rect x="30" y="99" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2025-10-05 — 14</title></rect>
<rect x="39" y="45" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2025-10-06 — 4</title></rect>
<rect x="39" y="54" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2025-10-07 — 14</title></rect>
<rect x="39" y="63" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2025-10-08 — 14</title></rect>
<rect x="39" y="72" width="8" height="8" rx="1.5" fill="#141321"><title>2025-10-09 — 0</title></rect>
<rect x="39" y="81" width="8" height="8" rx="1.5" fill="#141321"><title>2025-10-10 — 0</title></rect>
<rect x="39" y="90" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2025-10-11 — 15</title></rect>
<rect x="39" y="99" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2025-10-12 — 3</title></rect>
<rect x="48" y="45" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2025-10-13 — 2</title></rect>
<rect x="48" y="54" width="8" height="8" rx="1.5" fill="#141321"><title>2025-10-14 — 0</title></rect>
<rect x="48" y="63" width="8" height="8" rx="1.5" fill="#141321"><title>2025-10-15 — 0</title></rect>
<rect x="48" y="72" width="8" height="8" rx="1.5" fill="#141321"><title>2025-10-16 — 0</title></rect>
<rect x="48" y="81" width="8" height="8" rx="1.5" fill="#141321"><title>2025-10-17 — 0</title></rect>
<rect x="48" y="90" width="8" height="8" rx="1.5" fill="#141321"><title>2025-10-18 — 0</title></rect>
<rect x="48" y="99" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2025-10-19 — 6</title></rect>
<rect x="57" y="45" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2025-10-20 — 5</title></rect>
<rect x="57" y="54" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2025-10-21 — 4</title></rect>
<rect x="57" y="63" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2025-10-22 — 5</title></rect>
<rect x="57" y="72" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2025-10-23 — 2</title></rect>
<rect x="57" y="81" width="8" height="8" rx="1.5" fill="#141321"><title>2025-10-24 — 0</title></rect>
<rect x="57" y="90" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2025-10-25 — 29</title></rect>
<rect x="57" y="99" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2025-10-26 — 4</title></rect>
<rect x="66" y="45" width="8" height="8" rx="1.5" fill="#141321"><title>2025-10-27 — 0</title></rect>
<rect x="66" y="54" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2025-10-28 — 1</title></rect>
<rect x="66" y="63" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2025-10-29 — 2</title></rect>
<rect x="66" y="72" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2025-10-30 — 1</title></rect>
<rect x="66" y="81" width="8" height="8" rx="1.5" fill="#141321"><title>2025-10-31 — 0</title></rect>
<rect x="66" y="90" width="8" height="8" rx="1.5" fill="#141321"><title>2025-11-01 — 0</title></rect>
<rect x="66" y="99" width="8" height="8" rx="1.5" fill="#141321"><title>2025-11-02 — 0</title></rect>
<rect x="75" y="45" width="8" height="8" rx="1.5" fill="#141321"><title>2025-11-03 — 0</title></rect>
<rect x="75" y="54" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2025-11-04 — 5</title></rect>
<rect x="75" y="63" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2025-11-05 — 9</title></rect>
<rect x="75" y="72" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2025-11-06 — 9</title></rect>
<rect x="75" y="81" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2025-11-07 — 38</title></rect>
<rect x="75" y="90" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2025-11-08 — 20</title></rect>
<rect x="75" y="99" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2025-11-09 — 8</title></rect>
<rect x="84" y="45" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2025-11-10 — 8</title></rect>
<rect x="84" y="54" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2025-11-11 — 9</title></rect>
<rect x="84" y="63" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2025-11-12 — 4</title></rect>
<rect x="84" y="72" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2025-11-13 — 24</title></rect>
<rect x="84" y="81" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2025-11-14 — 52</title></rect>
<rect x="84" y="90" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2025-11-15 — 17</title></rect>
<rect x="84" y="99" width="8" height="8" rx="1.5" fill="#141321"><title>2025-11-16 — 0</title></rect>
<rect x="93" y="45" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2025-11-17 — 2</title></rect>
<rect x="93" y="54" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2025-11-18 — 4</title></rect>
<rect x="93" y="63" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2025-11-19 — 14</title></rect>
<rect x="93" y="72" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2025-11-20 — 3</title></rect>
<rect x="93" y="81" width="8" height="8" rx="1.5" fill="#141321"><title>2025-11-21 — 0</title></rect>
<rect x="93" y="90" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2025-11-22 — 3</title></rect>
<rect x="93" y="99" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2025-11-23 — 1</title></rect>
<rect x="102" y="45" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2025-11-24 — 8</title></rect>
<rect x="102" y="54" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2025-11-25 — 2</title></rect>
<rect x="102" y="63" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2025-11-26 — 14</title></rect>
<rect x="102" y="72" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2025-11-27 — 32</title></rect>
<rect x="102" y="81" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2025-11-28 — 21</title></rect>
<rect x="102" y="90" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2025-11-29 — 24</title></rect>
<rect x="102" y="99" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2025-11-30 — 14</title></rect>
<rect x="111" y="45" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2025-12-01 — 8</title></rect>
<rect x="111" y="54" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2025-12-02 — 5</title></rect>
<rect x="111" y="63" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2025-12-03 — 17</title></rect>
<rect x="111" y="72" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2025-12-04 — 25</title></rect>
<rect x="111" y="81" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2025-12-05 — 4</title></rect>
<rect x="111" y="90" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2025-12-06 — 30</title></rect>
<rect x="111" y="99" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2025-12-07 — 5</title></rect>
<rect x="120" y="45" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2025-12-08 — 5</title></rect>
<rect x="120" y="54" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2025-12-09 — 5</title></rect>
<rect x="120" y="63" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2025-12-10 — 7</title></rect>
<rect x="120" y="72" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2025-12-11 — 14</title></rect>
<rect x="120" y="81" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2025-12-12 — 2</title></rect>
<rect x="120" y="90" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2025-12-13 — 2</title></rect>
<rect x="120" y="99" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2025-12-14 — 2</title></rect>
<rect x="129" y="45" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2025-12-15 — 16</title></rect>
<rect x="129" y="54" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2025-12-16 — 6</title></rect>
<rect x="129" y="63" width="8" height="8" rx="1.5" fill="#141321"><title>2025-12-17 — 0</title></rect>
<rect x="129" y="72" width="8" height="8" rx="1.5" fill="#141321"><title>2025-12-18 — 0</title></rect>
<rect x="129" y="81" width="8" height="8" rx="1.5" fill="#141321"><title>2025-12-19 — 0</title></rect>
<rect x="129" y="90" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2025-12-20 — 2</title></rect>
<rect x="129" y="99" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2025-12-21 — 36</title></rect>
<rect x="138" y="45" width="8" height="8" rx="1.5" fill="#141321"><title>2025-12-22 — 0</title></rect>
<rect x="138" y="54" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2025-12-23 — 2</title></rect>
<rect x="138" y="63" width="8" height="8" rx="1.5" fill="#141321"><title>2025-12-24 — 0</title></rect>
<rect x="138" y="72" width="8" height="8" rx="1.5" fill="#141321"><title>2025-12-25 — 0</title></rect>
<rect x="138" y="81" width="8" height="8" rx="1.5" fill="#141321"><title>2025-12-26 — 0</title></rect>
<rect x="138" y="90" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2025-12-27 — 2</title></rect>
<rect x="138" y="99" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2025-12-28 — 4</title></rect>
<rect x="147" y="45" width="8" height="8" rx="1.5" fill="#141321"><title>2025-12-29 — 0</title></rect>
<rect x="147" y="54" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2025-12-30 — 18</title></rect>
<rect x="147" y="63" width="8" height="8" rx="1.5" fill="#141321"><title>2025-12-31 — 0</title></rect>
<rect x="147" y="72" width="8" height="8" rx="1.5" fill="#141321"><title>2026-01-01 — 0</title></rect>
<rect x="147" y="81" width="8" height="8" rx="1.5" fill="#141321"><title>2026-01-02 — 0</title></rect>
<rect x="147" y="90" width="8" height="8" rx="1.5" fill="#141321"><title>2026-01-03 — 0</title></rect>
<rect x="147" y="99" width="8" height="8" rx="1.5" fill="#141321"><title>2026-01-04 — 0</title></rect>
<rect x="156" y="45" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-01-05 — 2</title></rect>
<rect x="156" y="54" width="8" height="8" rx="1.5" fill="#141321"><title>2026-01-06 — 0</title></rect>
<rect x="156" y="63" width="8" height="8" rx="1.5" fill="#141321"><title>2026-01-07 — 0</title></rect>
<rect x="156" y="72" width="8" height="8" rx="1.5" fill="#141321"><title>2026-01-08 — 0</title></rect>
<rect x="156" y="81" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-01-09 — 9</title></rect>
<rect x="156" y="90" width="8" height="8" rx="1.5" fill="#141321"><title>2026-01-10 — 0</title></rect>
<rect x="156" y="99" width="8" height="8" rx="1.5" fill="#141321"><title>2026-01-11 — 0</title></rect>
<rect x="165" y="45" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-01-12 — 1</title></rect>
<rect x="165" y="54" width="8" height="8" rx="1.5" fill="#141321"><title>2026-01-13 — 0</title></rect>
<rect x="165" y="63" width="8" height="8" rx="1.5" fill="#141321"><title>2026-01-14 — 0</title></rect>
<rect x="165" y="72" width="8" height="8" rx="1.5" fill="#141321"><title>2026-01-15 — 0</title></rect>
<rect x="165" y="81" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-01-16 — 1</title></rect>
<rect x="165" y="90" width="8" height="8" rx="1.5" fill="#141321"><title>2026-01-17 — 0</title></rect>
<rect x="165" y="99" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-01-18 — 4</title></rect>
<rect x="174" y="45" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-01-19 — 4</title></rect>
<rect x="174" y="54" width="8" height="8" rx="1.5" fill="#141321"><title>2026-01-20 — 0</title></rect>
<rect x="174" y="63" width="8" height="8" rx="1.5" fill="#141321"><title>2026-01-21 — 0</title></rect>
<rect x="174" y="72" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-01-22 — 6</title></rect>
<rect x="174" y="81" width="8" height="8" rx="1.5" fill="#141321"><title>2026-01-23 — 0</title></rect>
<rect x="174" y="90" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-01-24 — 2</title></rect>
<rect x="174" y="99" width="8" height="8" rx="1.5" fill="#141321"><title>2026-01-25 — 0</title></rect>
<rect x="183" y="45" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-01-26 — 1</title></rect>
<rect x="183" y="54" width="8" height="8" rx="1.5" fill="#141321"><title>2026-01-27 — 0</title></rect>
<rect x="183" y="63" width="8" height="8" rx="1.5" fill="#141321"><title>2026-01-28 — 0</title></rect>
<rect x="183" y="72" width="8" height="8" rx="1.5" fill="#141321"><title>2026-01-29 — 0</title></rect>
<rect x="183" y="81" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-01-30 — 10</title></rect>
<rect x="183" y="90" width="8" height="8" rx="1.5" fill="#141321"><title>2026-01-31 — 0</title></rect>
<rect x="183" y="99" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-02-01 — 2</title></rect>
<rect x="192" y="45" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-02-02 — 2</title></rect>
<rect x="192" y="54" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-02-03 — 2</title></rect>
<rect x="192" y="63" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-02-04 — 1</title></rect>
<rect x="192" y="72" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-02-05 — 9</title></rect>
<rect x="192" y="81" width="8" height="8" rx="1.5" fill="#141321"><title>2026-02-06 — 0</title></rect>
<rect x="192" y="90" width="8" height="8" rx="1.5" fill="#141321"><title>2026-02-07 — 0</title></rect>
<rect x="192" y="99" width="8" height="8" rx="1.5" fill="#141321"><title>2026-02-08 — 0</title></rect>
<rect x="201" y="45" width="8" height="8" rx="1.5" fill="#141321"><title>2026-02-09 — 0</title></rect>
<rect x="201" y="54" width="8" height="8" rx="1.5" fill="#141321"><title>2026-02-10 — 0</title></rect>
<rect x="201" y="63" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-02-11 — 1</title></rect>
<rect x="201" y="72" width="8" height="8" rx="1.5" fill="#141321"><title>2026-02-12 — 0</title></rect>
<rect x="201" y="81" width="8" height="8" rx="1.5" fill="#141321"><title>2026-02-13 — 0</title></rect>
<rect x="201" y="90" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-02-14 — 2</title></rect>
<rect x="201" y="99" width="8" height="8" rx="1.5" fill="#141321"><title>2026-02-15 — 0</title></rect>
<rect x="210" y="45" width="8" height="8" rx="1.5" fill="#141321"><title>2026-02-16 — 0</title></rect>
<rect x="210" y="54" width="8" height="8" rx="1.5" fill="#141321"><title>2026-02-17 — 0</title></rect>
<rect x="210" y="63" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-02-18 — 2</title></rect>
<rect x="210" y="72" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-02-19 — 2</title></rect>
<rect x="210" y="81" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-02-20 — 49</title></rect>
<rect x="210" y="90" width="8" height="8" rx="1.5" fill="#141321"><title>2026-02-21 — 0</title></rect>
<rect x="210" y="99" width="8" height="8" rx="1.5" fill="#141321"><title>2026-02-22 — 0</title></rect>
<rect x="219" y="45" width="8" height="8" rx="1.5" fill="#141321"><title>2026-02-23 — 0</title></rect>
<rect x="219" y="54" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-02-24 — 2</title></rect>
<rect x="219" y="63" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-02-25 — 38</title></rect>
<rect x="219" y="72" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-02-26 — 18</title></rect>
<rect x="219" y="81" width="8" height="8" rx="1.5" fill="#0a8974"><title>2026-02-27 — 63</title></rect>
<rect x="219" y="90" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-02-28 — 2</title></rect>
<rect x="219" y="99" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-03-01 — 2</title></rect>
<rect x="228" y="45" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-03-02 — 2</title></rect>
<rect x="228" y="54" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-03-03 — 39</title></rect>
<rect x="228" y="63" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-03-04 — 24</title></rect>
<rect x="228" y="72" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-03-05 — 10</title></rect>
<rect x="228" y="81" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-03-06 — 12</title></rect>
<rect x="228" y="90" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-03-07 — 43</title></rect>
<rect x="228" y="99" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-03-08 — 45</title></rect>
<rect x="237" y="45" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-03-09 — 30</title></rect>
<rect x="237" y="54" width="8" height="8" rx="1.5" fill="#0a8974"><title>2026-03-10 — 66</title></rect>
<rect x="237" y="63" width="8" height="8" rx="1.5" fill="#05c49e"><title>2026-03-11 — 150</title></rect>
<rect x="237" y="72" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-03-12 — 50</title></rect>
<rect x="237" y="81" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-03-13 — 4</title></rect>
<rect x="237" y="90" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-03-14 — 2</title></rect>
<rect x="237" y="99" width="8" height="8" rx="1.5" fill="#141321"><title>2026-03-15 — 0</title></rect>
<rect x="246" y="45" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-03-16 — 3</title></rect>
<rect x="246" y="54" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-03-17 — 20</title></rect>
<rect x="246" y="63" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-03-18 — 10</title></rect>
<rect x="246" y="72" width="8" height="8" rx="1.5" fill="#141321"><title>2026-03-19 — 0</title></rect>
<rect x="246" y="81" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-03-20 — 2</title></rect>
<rect x="246" y="90" width="8" height="8" rx="1.5" fill="#141321"><title>2026-03-21 — 0</title></rect>
<rect x="246" y="99" width="8" height="8" rx="1.5" fill="#141321"><title>2026-03-22 — 0</title></rect>
<rect x="255" y="45" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-03-23 — 2</title></rect>
<rect x="255" y="54" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-03-24 — 4</title></rect>
<rect x="255" y="63" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-03-25 — 26</title></rect>
<rect x="255" y="72" width="8" height="8" rx="1.5" fill="#141321"><title>2026-03-26 — 0</title></rect>
<rect x="255" y="81" width="8" height="8" rx="1.5" fill="#141321"><title>2026-03-27 — 0</title></rect>
<rect x="255" y="90" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-03-28 — 2</title></rect>
<rect x="255" y="99" width="8" height="8" rx="1.5" fill="#141321"><title>2026-03-29 — 0</title></rect>
<rect x="264" y="45" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-03-30 — 24</title></rect>
<rect x="264" y="54" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-03-31 — 23</title></rect>
<rect x="264" y="63" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-04-01 — 17</title></rect>
<rect x="264" y="72" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-04-02 — 8</title></rect>
<rect x="264" y="81" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-04-03 — 22</title></rect>
<rect x="264" y="90" width="8" height="8" rx="1.5" fill="#0a8974"><title>2026-04-04 — 76</title></rect>
<rect x="264" y="99" width="8" height="8" rx="1.5" fill="#0a8974"><title>2026-04-05 — 76</title></rect>
<text x="26" y="136" font-size="10" fill="#fcee0c" text-anchor="end">Tue</text>
<text x="26" y="154" font-size="10" fill="#fcee0c" text-anchor="end">Thu</text>
<text x="26" y="172" font-size="10" fill="#fcee0c" text-anchor="end">Sat</text>
<text x="30" y="116" font-size="10" fill="#fcee0c">Apr</text>
<text x="66" y="116" font-size="10" fill="#fcee0c">May</text>
<text x="102" y="116" font-size="10" fill="#fcee0c">Jun</text>
<text x="147" y="116" font-size="10" fill="#fcee0c">Jul</text>
<text x="183" y="116" font-size="10" fill="#fcee0c">Aug</text>
<text x="228" y="116" font-size="10" fill="#fcee0c">Sep</text>
<text x="264" y="116" font-size="10" fill="#fcee0c">Oct</text>
<rect x="30" y="120" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-04-06 — 55</title></rect>
<rect x="30" y="129" width="8" height="8" rx="1.5" fill="#0a8974"><title>2026-04-07 — 72</title></rect>
<rect x="30" y="138" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-04-08 — 14</title></rect>
<rect x="30" y="147" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-04-09 — 25</title></rect>
<rect x="30" y="156" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-04-10 — 2</title></rect>
<rect x="30" y="165" width="8" height="8" rx="1.5" fill="#0a8974"><title>2026-04-11 — 60</title></rect>
<rect x="30" y="174" width="8" height="8" rx="1.5" fill="#0a8974"><title>2026-04-12 — 84</title></rect>
<rect x="39" y="120" width="8" height="8" rx="1.5" fill="#0a8974"><title>2026-04-13 — 82</title></rect>
<rect x="39" y="129" width="8" height="8" rx="1.5" fill="#0a8974"><title>2026-04-14 — 94</title></rect>
<rect x="39" y="138" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-04-15 — 14</title></rect>
<rect x="39" y="147" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-04-16 — 29</title></rect>
<rect x="39" y="156" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-04-17 — 19</title></rect>
<rect x="39" y="165" width="8" height="8" rx="1.5" fill="#00ffc8"><title>2026-04-18 — 195</title></rect>
<rect x="39" y="174" width="8" height="8" rx="1.5" fill="#0a8974"><title>2026-04-19 — 111</title></rect>
<rect x="48" y="120" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-04-20 — 46</title></rect>
<rect x="48" y="129" width="8" height="8" rx="1.5" fill="#0a8974"><title>2026-04-21 — 84</title></rect>
<rect x="48" y="138" width="8" height="8" rx="1.5" fill="#0a8974"><title>2026-04-22 — 72</title></rect>
<rect x="48" y="147" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-04-23 — 30</title></rect>
<rect x="48" y="156" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-04-24 — 50</title></rect>
<rect x="48" y="165" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-04-25 — 43</title></rect>
<rect x="48" y="174" width="8" height="8" rx="1.5" fill="#0a8974"><title>2026-04-26 — 101</title></rect>
<rect x="57" y="120" width="8" height="8" rx="1.5" fill="#0a8974"><title>2026-04-27 — 105</title></rect>
<rect x="57" y="129" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-04-28 — 45</title></rect>
<rect x="57" y="138" width="8" height="8" rx="1.5" fill="#0a8974"><title>2026-04-29 — 78</title></rect>
<rect x="57" y="147" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-04-30 — 53</title></rect>
<rect x="57" y="156" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-05-01 — 13</title></rect>
<rect x="57" y="165" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-05-02 — 2</title></rect>
<rect x="57" y="174" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-05-03 — 25</title></rect>
<rect x="66" y="120" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-05-04 — 2</title></rect>
<rect x="66" y="129" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-05-05 — 30</title></rect>
<rect x="66" y="138" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-05-06 — 5</title></rect>
<rect x="66" y="147" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-05-07 — 44</title></rect>
<rect x="66" y="156" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-05-08 — 43</title></rect>
<rect x="66" y="165" width="8" height="8" rx="1.5" fill="#00ffc8"><title>2026-05-09 — 228</title></rect>
<rect x="66" y="174" width="8" height="8" rx="1.5" fill="#05c49e"><title>2026-05-10 — 133</title></rect>
<rect x="75" y="120" width="8" height="8" rx="1.5" fill="#00ffc8"><title>2026-05-11 — 181</title></rect>
<rect x="75" y="129" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-05-12 — 1</title></rect>
<rect x="75" y="138" width="8" height="8" rx="1.5" fill="#05c49e"><title>2026-05-13 — 136</title></rect>
<rect x="75" y="147" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-05-14 — 17</title></rect>
<rect x="75" y="156" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-05-15 — 46</title></rect>
<rect x="75" y="165" width="8" height="8" rx="1.5" fill="#0a8974"><title>2026-05-16 — 74</title></rect>
<rect x="75" y="174" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-05-17 — 29</title></rect>
<rect x="84" y="120" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-05-18 — 56</title></rect>
<rect x="84" y="129" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-05-19 — 10</title></rect>
<rect x="84" y="138" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-05-20 — 8</title></rect>
<rect x="84" y="147" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-05-21 — 6</title></rect>
<rect x="84" y="156" width="8" height="8" rx="1.5" fill="#0a8974"><title>2026-05-22 — 69</title></rect>
<rect x="84" y="165" width="8" height="8" rx="1.5" fill="#05c49e"><title>2026-05-23 — 166</title></rect>
<rect x="84" y="174" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-05-24 — 24</title></rect>
<rect x="93" y="120" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-05-25 — 30</title></rect>
<rect x="93" y="129" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-05-26 — 2</title></rect>
<rect x="93" y="138" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-05-27 — 8</title></rect>
<rect x="93" y="147" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-05-28 — 19</title></rect>
<rect x="93" y="156" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-05-29 — 5</title></rect>
<rect x="93" y="165" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-05-30 — 21</title></rect>
<rect x="93" y="174" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-05-31 — 3</title></rect>
<rect x="102" y="120" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-06-01 — 26</title></rect>
<rect x="102" y="129" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-06-02 — 12</title></rect>
<rect x="102" y="138" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-06-03 — 8</title></rect>
<rect x="102" y="147" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-06-04 — 45</title></rect>
<rect x="102" y="156" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-06-05 — 33</title></rect>
<rect x="102" y="165" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-06-06 — 3</title></rect>
<rect x="102" y="174" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-06-07 — 3</title></rect>
<rect x="111" y="120" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-06-08 — 16</title></rect>
<rect x="111" y="129" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-06-09 — 8</title></rect>
<rect x="111" y="138" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-06-10 — 18</title></rect>
<rect x="111" y="147" width="8" height="8" rx="1.5" fill="#0a8974"><title>2026-06-11 — 60</title></rect>
<rect x="111" y="156" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-06-12 — 32</title></rect>
<rect x="111" y="165" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-06-13 — 8</title></rect>
<rect x="111" y="174" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-06-14 — 8</title></rect>
<rect x="120" y="120" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-06-15 — 33</title></rect>
<rect x="120" y="129" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-06-16 — 4</title></rect>
<rect x="120" y="138" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-06-17 — 12</title></rect>
<rect x="120" y="147" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-06-18 — 2</title></rect>
<rect x="120" y="156" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-06-19 — 9</title></rect>
<rect x="120" y="165" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-06-20 — 9</title></rect>
<rect x="120" y="174" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-06-21 — 10</title></rect>
<rect x="129" y="120" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-06-22 — 5</title></rect>
<rect x="129" y="129" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-06-23 — 4</title></rect>
<rect x="129" y="138" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-06-24 — 8</title></rect>
<rect x="129" y="147" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-06-25 — 32</title></rect>
<rect x="129" y="156" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-06-26 — 12</title></rect>
<rect x="129" y="165" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-06-27 — 19</title></rect>
<rect x="129" y="174" width="8" height="8" rx="1.5" fill="#05c49e"><title>2026-06-28 — 130</title></rect>
<rect x="138" y="120" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-06-29 — 40</title></rect>
<rect x="138" y="129" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-06-30 — 11</title></rect>
<rect x="138" y="138" width="8" height="8" rx="1.5" fill="#0a8974"><title>2026-07-01 — 61</title></rect>
<rect x="138" y="147" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-07-02 — 15</title></rect>
<rect x="138" y="156" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-07-03 — 37</title></rect>
<rect x="138" y="165" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-07-04 — 9</title></rect>
<rect x="138" y="174" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-07-05 — 6</title></rect>
<rect x="147" y="120" width="8" height="8" rx="1.5" fill="#0a8974"><title>2026-07-06 — 90</title></rect>
<rect x="147" y="129" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-07-07 — 35</title></rect>
<rect x="147" y="138" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-07-08 — 6</title></rect>
<rect x="147" y="147" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-07-09 — 35</title></rect>
<rect x="147" y="156" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-07-10 — 8</title></rect>
<rect x="147" y="165" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-07-11 — 6</title></rect>
<rect x="147" y="174" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-07-12 — 3</title></rect>
<rect x="156" y="120" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-07-13 — 3</title></rect>
<rect x="156" y="129" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-07-14 — 32</title></rect>
<rect x="156" y="138" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-07-15 — 17</title></rect>
<rect x="156" y="147" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-07-16 — 17</title></rect>
<rect x="156" y="156" width="8" height="8" rx="1.5" fill="#0a8974"><title>2026-07-17 — 98</title></rect>
<rect x="156" y="165" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-07-18 — 42</title></rect>
<rect x="156" y="174" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-07-19 — 14</title></rect>
<rect x="165" y="120" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-07-20 — 28</title></rect>
<rect x="165" y="129" width="8" height="8" rx="1.5" fill="#05c49e"><title>2026-07-21 — 125</title></rect>
<rect x="165" y="138" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-07-22 — 39</title></rect>
<rect x="165" y="147" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-07-23 — 35</title></rect>
<rect x="165" y="156" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-07-24 — 14</title></rect>
<rect x="165" y="165" width="8" height="8" rx="1.5" fill="#00ffc8"><title>2026-07-25 — 176</title></rect>
<rect x="165" y="174" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-07-26 — 44</title></rect>
<rect x="174" y="120" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-07-27 — 2</title></rect>
<rect x="174" y="129" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-07-28 — 2</title></rect>
<rect x="174" y="138" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-07-29 — 23</title></rect>
<rect x="174" y="147" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-07-30 — 17</title></rect>
<rect x="174" y="156" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-07-31 — 2</title></rect>
<rect x="174" y="165" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-08-01 — 12</title></rect>
<rect x="174" y="174" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-08-02 — 1</title></rect>
<rect x="183" y="120" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-08-03 — 13</title></rect>
<rect x="183" y="129" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-08-04 — 30</title></rect>
<rect x="183" y="138" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-08-05 — 25</title></rect>
<rect x="183" y="147" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-08-06 — 19</title></rect>
<rect x="183" y="156" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-08-07 — 13</title></rect>
<rect x="183" y="165" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-08-08 — 34</title></rect>
<rect x="183" y="174" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-08-09 — 18</title></rect>
<rect x="192" y="120" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-08-10 — 14</title></rect>
<rect x="192" y="129" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-08-11 — 11</title></rect>
<rect x="192" y="138" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-08-12 — 14</title></rect>
<rect x="192" y="147" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-08-13 — 42</title></rect>
<rect x="192" y="156" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-08-14 — 56</title></rect>
<rect x="192" y="165" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-08-15 — 2</title></rect>
<rect x="192" y="174" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-08-16 — 6</title></rect>
<rect x="201" y="120" width="8" height="8" rx="1.5" fill="#0a8974"><title>2026-08-17 — 93</title></rect>
<rect x="201" y="129" width="8" height="8" rx="1.5" fill="#05c49e"><title>2026-08-18 — 122</title></rect>
<rect x="201" y="138" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-08-19 — 18</title></rect>
<rect x="201" y="147" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-08-20 — 11</title></rect>
<rect x="201" y="156" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-08-21 — 1</title></rect>
<rect x="201" y="165" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-08-22 — 4</title></rect>
<rect x="201" y="174" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-08-23 — 1</title></rect>
<rect x="210" y="120" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-08-24 — 8</title></rect>
<rect x="210" y="129" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-08-25 — 47</title></rect>
<rect x="210" y="138" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-08-26 — 2</title></rect>
<rect x="210" y="147" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-08-27 — 15</title></rect>
<rect x="210" y="156" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-08-28 — 18</title></rect>
<rect x="210" y="165" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-08-29 — 8</title></rect>
<rect x="210" y="174" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-08-30 — 36</title></rect>
<rect x="219" y="120" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-08-31 — 47</title></rect>
<rect x="219" y="129" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-09-01 — 38</title></rect>
<rect x="219" y="138" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-09-02 — 14</title></rect>
<rect x="219" y="147" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-09-03 — 13</title></rect>
<rect x="219" y="156" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-09-04 — 27</title></rect>
<rect x="219" y="165" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-09-05 — 12</title></rect>
<rect x="219" y="174" width="8" height="8" rx="1.5" fill="#0a8974"><title>2026-09-06 — 75</title></rect>
<rect x="228" y="120" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-09-07 — 12</title></rect>
<rect x="228" y="129" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-09-08 — 32</title></rect>
<rect x="228" y="138" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-09-09 — 22</title></rect>
<rect x="228" y="147" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-09-10 — 16</title></rect>
<rect x="228" y="156" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-09-11 — 22</title></rect>
<rect x="228" y="165" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-09-12 — 2</title></rect>
<rect x="228" y="174" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-09-13 — 4</title></rect>
<rect x="237" y="120" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-09-14 — 2</title></rect>
<rect x="237" y="129" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-09-15 — 14</title></rect>
<rect x="237" y="138" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-09-16 — 40</title></rect>
<rect x="237" y="147" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-09-17 — 11</title></rect>
<rect x="237" y="156" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-09-18 — 51</title></rect>
<rect x="237" y="165" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-09-19 — 15</title></rect>
<rect x="237" y="174" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-09-20 — 18</title></rect>
<rect x="246" y="120" width="8" height="8" rx="1.5" fill="#0a8974"><title>2026-09-21 — 107</title></rect>
<rect x="246" y="129" width="8" height="8" rx="1.5" fill="#141321"><title>2026-09-22 — 0</title></rect>
<rect x="246" y="138" width="8" height="8" rx="1.5" fill="#141321"><title>2026-09-23 — 0</title></rect>
<rect x="246" y="147" width="8" height="8" rx="1.5" fill="#141321"><title>2026-09-24 — 0</title></rect>
<rect x="246" y="156" width="8" height="8" rx="1.5" fill="#141321"><title>2026-09-25 — 0</title></rect>
<rect x="246" y="165" width="8" height="8" rx="1.5" fill="#141321"><title>2026-09-26 — 0</title></rect>
<rect x="246" y="174" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-09-27 — 6</title></rect>
<rect x="255" y="120" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-09-28 — 41</title></rect>
<rect x="255" y="129" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-09-29 — 54</title></rect>
<rect x="255" y="138" width="8" height="8" rx="1.5" fill="#0a8974"><title>2026-09-30 — 112</title></rect>
<rect x="255" y="147" width="8" height="8" rx="1.5" fill="#0a8974"><title>2026-10-01 — 93</title></rect>
<rect x="255" y="156" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-10-02 — 36</title></rect>
<rect x="255" y="165" width="8" height="8" rx="1.5" fill="#0a8974"><title>2026-10-03 — 111</title></rect>
<rect x="255" y="174" width="8" height="8" rx="1.5" fill="#0a8974"><title>2026-10-04 — 78</title></rect>
<rect x="264" y="120" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-10-05 — 26</title></rect>
<rect x="264" y="129" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-10-06 — 35</title></rect>
<rect x="264" y="138" width="8" height="8" rx="1.5" fill="#0f4e4a"><title>2026-10-07 — 44</title></rect>
</svg>

After

Width:  |  Height:  |  Size: 40 KiB

+44
View File
@@ -0,0 +1,44 @@
<svg xmlns="http://www.w3.org/2000/svg" width="340" height="200" viewBox="0 0 340 200" font-family="'Segoe UI', Ubuntu, Sans-Serif">
<rect x="0.5" y="0.5" width="339" height="199" rx="6" fill="#141321" stroke="#141321" stroke-opacity="1.00"/>
<text x="20" y="30" font-size="15" font-weight="600" fill="#ff0055">Contributions (last year)</text>
<line x1="28" y1="45" x2="28" y2="150" stroke="#fcee0c"/>
<line x1="312" y1="45" x2="312" y2="150" stroke="#fcee0c"/>
<line x1="24" y1="150" x2="28" y2="150" stroke="#fcee0c"/>
<text x="22" y="153" font-size="10" fill="#fcee0c" text-anchor="end">0</text>
<line x1="312" y1="150" x2="316" y2="150" stroke="#fcee0c"/>
<text x="318" y="153" font-size="10" fill="#fcee0c" text-anchor="start">0</text>
<line x1="24" y1="124" x2="28" y2="124" stroke="#fcee0c"/>
<text x="22" y="127" font-size="10" fill="#fcee0c" text-anchor="end">500</text>
<line x1="312" y1="124" x2="316" y2="124" stroke="#fcee0c"/>
<text x="318" y="127" font-size="10" fill="#fcee0c" text-anchor="start">500</text>
<line x1="24" y1="98" x2="28" y2="98" stroke="#fcee0c"/>
<text x="22" y="101" font-size="10" fill="#fcee0c" text-anchor="end">1k</text>
<line x1="312" y1="98" x2="316" y2="98" stroke="#fcee0c"/>
<text x="318" y="101" font-size="10" fill="#fcee0c" text-anchor="start">1k</text>
<line x1="24" y1="72" x2="28" y2="72" stroke="#fcee0c"/>
<text x="22" y="75" font-size="10" fill="#fcee0c" text-anchor="end">1.5k</text>
<line x1="312" y1="72" x2="316" y2="72" stroke="#fcee0c"/>
<text x="318" y="75" font-size="10" fill="#fcee0c" text-anchor="start">1.5k</text>
<line x1="24" y1="45" x2="28" y2="45" stroke="#fcee0c"/>
<text x="22" y="48" font-size="10" fill="#fcee0c" text-anchor="end">2k</text>
<line x1="312" y1="45" x2="316" y2="45" stroke="#fcee0c"/>
<text x="318" y="48" font-size="10" fill="#fcee0c" text-anchor="start">2k</text>
<line x1="28" y1="150" x2="312" y2="150" stroke="#fcee0c"/>
<line x1="28" y1="150" x2="28" y2="154" stroke="#fcee0c"/>
<text x="28" y="166" font-size="10" fill="#fcee0c" text-anchor="middle">10/25</text>
<line x1="75" y1="150" x2="75" y2="154" stroke="#fcee0c"/>
<text x="75" y="166" font-size="10" fill="#fcee0c" text-anchor="middle">12/25</text>
<line x1="122" y1="150" x2="122" y2="154" stroke="#fcee0c"/>
<text x="122" y="166" font-size="10" fill="#fcee0c" text-anchor="middle">02/26</text>
<line x1="170" y1="150" x2="170" y2="154" stroke="#fcee0c"/>
<text x="170" y="166" font-size="10" fill="#fcee0c" text-anchor="middle">04/26</text>
<line x1="217" y1="150" x2="217" y2="154" stroke="#fcee0c"/>
<text x="217" y="166" font-size="10" fill="#fcee0c" text-anchor="middle">06/26</text>
<line x1="264" y1="150" x2="264" y2="154" stroke="#fcee0c"/>
<text x="264" y="166" font-size="10" fill="#fcee0c" text-anchor="middle">08/26</text>
<line x1="312" y1="150" x2="312" y2="154" stroke="#fcee0c"/>
<text x="312" y="166" font-size="10" fill="#fcee0c" text-anchor="middle">10/26</text>
<path d="M28.00,143.44 C31.94,141.51 43.78,132.69 51.67,131.89 C59.56,131.08 67.44,135.94 75.33,138.61 C83.22,141.28 91.11,147.71 99.00,147.90 C106.89,148.09 114.78,144.62 122.67,139.76 C130.56,134.91 138.44,132.47 146.33,118.76 C154.22,105.05 162.11,64.85 170.00,57.50 C177.89,50.14 185.78,64.62 193.67,74.61 C201.56,84.60 209.44,113.99 217.33,117.45 C225.22,120.91 233.11,96.41 241.00,95.35 C248.89,94.29 256.78,108.64 264.67,111.10 C272.56,113.56 280.44,107.32 288.33,110.10 C296.22,112.88 308.06,124.84 312.00,127.79 L312.00,150.00 L28.00,150.00 Z" fill="#00ffc8" fill-opacity="0.25" stroke="none"/>
<path d="M28.00,143.44 C31.94,141.51 43.78,132.69 51.67,131.89 C59.56,131.08 67.44,135.94 75.33,138.61 C83.22,141.28 91.11,147.71 99.00,147.90 C106.89,148.09 114.78,144.62 122.67,139.76 C130.56,134.91 138.44,132.47 146.33,118.76 C154.22,105.05 162.11,64.85 170.00,57.50 C177.89,50.14 185.78,64.62 193.67,74.61 C201.56,84.60 209.44,113.99 217.33,117.45 C225.22,120.91 233.11,96.41 241.00,95.35 C248.89,94.29 256.78,108.64 264.67,111.10 C272.56,113.56 280.44,107.32 288.33,110.10 C296.22,112.88 308.06,124.84 312.00,127.79" fill="none" stroke="#00ffc8" stroke-width="2"/>
<text x="170" y="184" font-size="11" fill="#fcee0c" text-anchor="middle">mm/yy</text>
</svg>

After

Width:  |  Height:  |  Size: 4.2 KiB

@@ -0,0 +1,25 @@
<svg xmlns="http://www.w3.org/2000/svg" width="340" height="200" viewBox="0 0 340 200" font-family="'Segoe UI', Ubuntu, Sans-Serif">
<rect x="0.5" y="0.5" width="339" height="199" rx="6" fill="#141321" stroke="#141321" stroke-opacity="1.00"/>
<text x="20" y="30" font-size="15" font-weight="600" fill="#ff0055">Most Commit Language (all time)</text>
<rect x="20" y="47" width="10" height="10" fill="#f1e05a" stroke="#141321" stroke-width="1"/>
<text x="36" y="55" font-size="11" fill="#03d8f3">JavaScript 34.64%</text>
<rect x="20" y="67" width="10" height="10" fill="#00ADD8" stroke="#141321" stroke-width="1"/>
<text x="36" y="75" font-size="11" fill="#03d8f3">Go 22.80%</text>
<rect x="20" y="87" width="10" height="10" fill="#e34c26" stroke="#141321" stroke-width="1"/>
<text x="36" y="95" font-size="11" fill="#03d8f3">HTML 9.74%</text>
<rect x="20" y="107" width="10" height="10" fill="#b07219" stroke="#141321" stroke-width="1"/>
<text x="36" y="115" font-size="11" fill="#03d8f3">Java 6.55%</text>
<rect x="20" y="127" width="10" height="10" fill="#3572A5" stroke="#141321" stroke-width="1"/>
<text x="36" y="135" font-size="11" fill="#03d8f3">Python 5.08%</text>
<rect x="20" y="147" width="10" height="10" fill="#89e051" stroke="#141321" stroke-width="1"/>
<text x="36" y="155" font-size="11" fill="#03d8f3">Shell 4.09%</text>
<rect x="20" y="167" width="10" height="10" fill="#00ffc8" stroke="#141321" stroke-width="1"/>
<text x="36" y="175" font-size="11" fill="#03d8f3">Other 17.09%</text>
<path d="M250.00,55.00 A55.00,55.00 0 0 1 295.22,141.31 L274.67,127.08 A30.00,30.00 0 0 0 250.00,80.00 Z" fill="#f1e05a" stroke="#141321" stroke-width="1.5"/>
<path d="M295.22,141.31 A55.00,55.00 0 0 1 225.24,159.11 L236.49,136.79 A30.00,30.00 0 0 0 274.67,127.08 Z" fill="#00ADD8" stroke="#141321" stroke-width="1.5"/>
<path d="M225.24,159.11 A55.00,55.00 0 0 1 201.51,135.96 L223.55,124.16 A30.00,30.00 0 0 0 236.49,136.79 Z" fill="#e34c26" stroke="#141321" stroke-width="1.5"/>
<path d="M201.51,135.96 A55.00,55.00 0 0 1 195.17,114.38 L220.10,112.39 A30.00,30.00 0 0 0 223.55,124.16 Z" fill="#b07219" stroke="#141321" stroke-width="1.5"/>
<path d="M195.17,114.38 A55.00,55.00 0 0 1 196.57,96.94 L220.86,102.88 A30.00,30.00 0 0 0 220.10,112.39 Z" fill="#3572A5" stroke="#141321" stroke-width="1.5"/>
<path d="M196.57,96.94 A55.00,55.00 0 0 1 201.65,83.79 L223.63,95.70 A30.00,30.00 0 0 0 220.86,102.88 Z" fill="#89e051" stroke="#141321" stroke-width="1.5"/>
<path d="M201.65,83.79 A55.00,55.00 0 0 1 250.00,55.00 L250.00,80.00 A30.00,30.00 0 0 0 223.63,95.70 Z" fill="#00ffc8" stroke="#141321" stroke-width="1.5"/>
</svg>

After

Width:  |  Height:  |  Size: 2.6 KiB

+25
View File
@@ -0,0 +1,25 @@
<svg xmlns="http://www.w3.org/2000/svg" width="340" height="200" viewBox="0 0 340 200" font-family="'Segoe UI', Ubuntu, Sans-Serif">
<rect x="0.5" y="0.5" width="339" height="199" rx="6" fill="#141321" stroke="#141321" stroke-opacity="1.00"/>
<text x="20" y="30" font-size="15" font-weight="600" fill="#ff0055">Most Commit Language (last year)</text>
<rect x="20" y="47" width="10" height="10" fill="#f1e05a" stroke="#141321" stroke-width="1"/>
<text x="36" y="55" font-size="11" fill="#03d8f3">JavaScript 37.51%</text>
<rect x="20" y="67" width="10" height="10" fill="#00ADD8" stroke="#141321" stroke-width="1"/>
<text x="36" y="75" font-size="11" fill="#03d8f3">Go 28.78%</text>
<rect x="20" y="87" width="10" height="10" fill="#e34c26" stroke="#141321" stroke-width="1"/>
<text x="36" y="95" font-size="11" fill="#03d8f3">HTML 6.29%</text>
<rect x="20" y="107" width="10" height="10" fill="#3572A5" stroke="#141321" stroke-width="1"/>
<text x="36" y="115" font-size="11" fill="#03d8f3">Python 5.54%</text>
<rect x="20" y="127" width="10" height="10" fill="#ff3e00" stroke="#141321" stroke-width="1"/>
<text x="36" y="135" font-size="11" fill="#03d8f3">Svelte 4.01%</text>
<rect x="20" y="147" width="10" height="10" fill="#89e051" stroke="#141321" stroke-width="1"/>
<text x="36" y="155" font-size="11" fill="#03d8f3">Shell 3.76%</text>
<rect x="20" y="167" width="10" height="10" fill="#00ffc8" stroke="#141321" stroke-width="1"/>
<text x="36" y="175" font-size="11" fill="#03d8f3">Other 14.11%</text>
<path d="M250.00,55.00 A55.00,55.00 0 0 1 288.86,148.92 L271.20,131.23 A30.00,30.00 0 0 0 250.00,80.00 Z" fill="#f1e05a" stroke="#141321" stroke-width="1.5"/>
<path d="M288.86,148.92 A55.00,55.00 0 0 1 203.03,138.62 L224.38,125.61 A30.00,30.00 0 0 0 271.20,131.23 Z" fill="#00ADD8" stroke="#141321" stroke-width="1.5"/>
<path d="M203.03,138.62 A55.00,55.00 0 0 1 195.63,118.32 L220.35,114.54 A30.00,30.00 0 0 0 224.38,125.61 Z" fill="#e34c26" stroke="#141321" stroke-width="1.5"/>
<path d="M195.63,118.32 A55.00,55.00 0 0 1 196.06,99.27 L220.58,104.15 A30.00,30.00 0 0 0 220.35,114.54 Z" fill="#3572A5" stroke="#141321" stroke-width="1.5"/>
<path d="M196.06,99.27 A55.00,55.00 0 0 1 200.43,86.17 L222.96,97.00 A30.00,30.00 0 0 0 220.58,104.15 Z" fill="#ff3e00" stroke="#141321" stroke-width="1.5"/>
<path d="M200.43,86.17 A55.00,55.00 0 0 1 207.37,75.24 L226.75,91.04 A30.00,30.00 0 0 0 222.96,97.00 Z" fill="#89e051" stroke="#141321" stroke-width="1.5"/>
<path d="M207.37,75.24 A55.00,55.00 0 0 1 250.00,55.00 L250.00,80.00 A30.00,30.00 0 0 0 226.75,91.04 Z" fill="#00ffc8" stroke="#141321" stroke-width="1.5"/>
</svg>

After

Width:  |  Height:  |  Size: 2.6 KiB

+55
View File
@@ -0,0 +1,55 @@
<svg xmlns="http://www.w3.org/2000/svg" width="340" height="200" viewBox="0 0 340 200" font-family="'Segoe UI', Ubuntu, Sans-Serif">
<rect x="0.5" y="0.5" width="339" height="199" rx="6" fill="#141321" stroke="#141321" stroke-opacity="1.00"/>
<text x="20" y="30" font-size="15" font-weight="600" fill="#ff0055">Commits by Hour (all time, UTC+7)</text>
<line x1="35" y1="45" x2="35" y2="155" stroke="#fcee0c"/>
<line x1="31" y1="155" x2="35" y2="155" stroke="#fcee0c"/>
<text x="29" y="158" font-size="10" fill="#fcee0c" text-anchor="end">0</text>
<line x1="31" y1="137" x2="35" y2="137" stroke="#fcee0c"/>
<text x="29" y="140" font-size="10" fill="#fcee0c" text-anchor="end">100</text>
<line x1="31" y1="119" x2="35" y2="119" stroke="#fcee0c"/>
<text x="29" y="122" font-size="10" fill="#fcee0c" text-anchor="end">200</text>
<line x1="31" y1="100" x2="35" y2="100" stroke="#fcee0c"/>
<text x="29" y="103" font-size="10" fill="#fcee0c" text-anchor="end">300</text>
<line x1="31" y1="82" x2="35" y2="82" stroke="#fcee0c"/>
<text x="29" y="85" font-size="10" fill="#fcee0c" text-anchor="end">400</text>
<line x1="31" y1="64" x2="35" y2="64" stroke="#fcee0c"/>
<text x="29" y="67" font-size="10" fill="#fcee0c" text-anchor="end">500</text>
<line x1="31" y1="45" x2="35" y2="45" stroke="#fcee0c"/>
<text x="29" y="48" font-size="10" fill="#fcee0c" text-anchor="end">600</text>
<line x1="35" y1="155" x2="325" y2="155" stroke="#fcee0c"/>
<line x1="40" y1="155" x2="40" y2="159" stroke="#fcee0c"/>
<text x="40" y="171" font-size="10" fill="#fcee0c" text-anchor="middle">0</text>
<line x1="113" y1="155" x2="113" y2="159" stroke="#fcee0c"/>
<text x="113" y="171" font-size="10" fill="#fcee0c" text-anchor="middle">6</text>
<line x1="186" y1="155" x2="186" y2="159" stroke="#fcee0c"/>
<text x="186" y="171" font-size="10" fill="#fcee0c" text-anchor="middle">12</text>
<line x1="258" y1="155" x2="258" y2="159" stroke="#fcee0c"/>
<text x="258" y="171" font-size="10" fill="#fcee0c" text-anchor="middle">18</text>
<line x1="319" y1="155" x2="319" y2="159" stroke="#fcee0c"/>
<text x="319" y="171" font-size="10" fill="#fcee0c" text-anchor="middle">23</text>
<rect x="35.00" y="101.28" width="11.12" height="53.72" rx="2" fill="#00ffc8"><title>00:00 — 293 commits</title></rect>
<rect x="47.12" y="136.30" width="11.12" height="18.70" rx="2" fill="#00ffc8"><title>01:00 — 102 commits</title></rect>
<rect x="59.25" y="145.10" width="11.12" height="9.90" rx="2" fill="#00ffc8"><title>02:00 — 54 commits</title></rect>
<rect x="71.38" y="149.87" width="11.12" height="5.13" rx="2" fill="#00ffc8"><title>03:00 — 28 commits</title></rect>
<rect x="83.50" y="153.35" width="11.12" height="1.65" rx="2" fill="#00ffc8"><title>04:00 — 9 commits</title></rect>
<rect x="95.62" y="153.90" width="11.12" height="1.10" rx="2" fill="#00ffc8"><title>05:00 — 6 commits</title></rect>
<rect x="107.75" y="152.80" width="11.12" height="2.20" rx="2" fill="#00ffc8"><title>06:00 — 12 commits</title></rect>
<rect x="119.88" y="151.15" width="11.12" height="3.85" rx="2" fill="#00ffc8"><title>07:00 — 21 commits</title></rect>
<rect x="132.00" y="135.20" width="11.12" height="19.80" rx="2" fill="#00ffc8"><title>08:00 — 108 commits</title></rect>
<rect x="144.12" y="85.15" width="11.12" height="69.85" rx="2" fill="#00ffc8"><title>09:00 — 381 commits</title></rect>
<rect x="156.25" y="68.83" width="11.12" height="86.17" rx="2" fill="#00ffc8"><title>10:00 — 470 commits</title></rect>
<rect x="168.38" y="74.88" width="11.12" height="80.12" rx="2" fill="#00ffc8"><title>11:00 — 437 commits</title></rect>
<rect x="180.50" y="104.40" width="11.12" height="50.60" rx="2" fill="#00ffc8"><title>12:00 — 276 commits</title></rect>
<rect x="192.62" y="87.72" width="11.12" height="67.28" rx="2" fill="#00ffc8"><title>13:00 — 367 commits</title></rect>
<rect x="204.75" y="86.80" width="11.12" height="68.20" rx="2" fill="#00ffc8"><title>14:00 — 372 commits</title></rect>
<rect x="216.88" y="95.23" width="11.12" height="59.77" rx="2" fill="#00ffc8"><title>15:00 — 326 commits</title></rect>
<rect x="229.00" y="80.02" width="11.12" height="74.98" rx="2" fill="#00ffc8"><title>16:00 — 409 commits</title></rect>
<rect x="241.12" y="83.50" width="11.12" height="71.50" rx="2" fill="#00ffc8"><title>17:00 — 390 commits</title></rect>
<rect x="253.25" y="105.32" width="11.12" height="49.68" rx="2" fill="#00ffc8"><title>18:00 — 271 commits</title></rect>
<rect x="265.38" y="115.95" width="11.12" height="39.05" rx="2" fill="#00ffc8"><title>19:00 — 213 commits</title></rect>
<rect x="277.50" y="65.72" width="11.12" height="89.28" rx="2" fill="#00ffc8"><title>20:00 — 487 commits</title></rect>
<rect x="289.62" y="46.28" width="11.12" height="108.72" rx="2" fill="#00ffc8"><title>21:00 — 593 commits</title></rect>
<rect x="301.75" y="60.77" width="11.12" height="94.23" rx="2" fill="#00ffc8"><title>22:00 — 514 commits</title></rect>
<rect x="313.88" y="69.93" width="11.12" height="85.07" rx="2" fill="#00ffc8"><title>23:00 — 464 commits</title></rect>
<text x="180" y="189" font-size="11" fill="#fcee0c" text-anchor="middle">hour of day</text>
</svg>

After

Width:  |  Height:  |  Size: 5.1 KiB

+51
View File
@@ -0,0 +1,51 @@
<svg xmlns="http://www.w3.org/2000/svg" width="340" height="200" viewBox="0 0 340 200" font-family="'Segoe UI', Ubuntu, Sans-Serif">
<rect x="0.5" y="0.5" width="339" height="199" rx="6" fill="#141321" stroke="#141321" stroke-opacity="1.00"/>
<text x="20" y="30" font-size="15" font-weight="600" fill="#ff0055">Commits by Hour (last year, UTC+7)</text>
<line x1="35" y1="45" x2="35" y2="155" stroke="#fcee0c"/>
<line x1="31" y1="155" x2="35" y2="155" stroke="#fcee0c"/>
<text x="29" y="158" font-size="10" fill="#fcee0c" text-anchor="end">0</text>
<line x1="31" y1="128" x2="35" y2="128" stroke="#fcee0c"/>
<text x="29" y="131" font-size="10" fill="#fcee0c" text-anchor="end">100</text>
<line x1="31" y1="100" x2="35" y2="100" stroke="#fcee0c"/>
<text x="29" y="103" font-size="10" fill="#fcee0c" text-anchor="end">200</text>
<line x1="31" y1="73" x2="35" y2="73" stroke="#fcee0c"/>
<text x="29" y="76" font-size="10" fill="#fcee0c" text-anchor="end">300</text>
<line x1="31" y1="45" x2="35" y2="45" stroke="#fcee0c"/>
<text x="29" y="48" font-size="10" fill="#fcee0c" text-anchor="end">400</text>
<line x1="35" y1="155" x2="325" y2="155" stroke="#fcee0c"/>
<line x1="40" y1="155" x2="40" y2="159" stroke="#fcee0c"/>
<text x="40" y="171" font-size="10" fill="#fcee0c" text-anchor="middle">0</text>
<line x1="113" y1="155" x2="113" y2="159" stroke="#fcee0c"/>
<text x="113" y="171" font-size="10" fill="#fcee0c" text-anchor="middle">6</text>
<line x1="186" y1="155" x2="186" y2="159" stroke="#fcee0c"/>
<text x="186" y="171" font-size="10" fill="#fcee0c" text-anchor="middle">12</text>
<line x1="258" y1="155" x2="258" y2="159" stroke="#fcee0c"/>
<text x="258" y="171" font-size="10" fill="#fcee0c" text-anchor="middle">18</text>
<line x1="319" y1="155" x2="319" y2="159" stroke="#fcee0c"/>
<text x="319" y="171" font-size="10" fill="#fcee0c" text-anchor="middle">23</text>
<rect x="35.00" y="102.47" width="11.12" height="52.52" rx="2" fill="#00ffc8"><title>00:00 — 191 commits</title></rect>
<rect x="47.12" y="137.40" width="11.12" height="17.60" rx="2" fill="#00ffc8"><title>01:00 — 64 commits</title></rect>
<rect x="59.25" y="143.18" width="11.12" height="11.82" rx="2" fill="#00ffc8"><title>02:00 — 43 commits</title></rect>
<rect x="71.38" y="149.22" width="11.12" height="5.78" rx="2" fill="#00ffc8"><title>03:00 — 21 commits</title></rect>
<rect x="83.50" y="155.00" width="11.12" height="0.00" rx="2" fill="#00ffc8"><title>04:00 — 0 commits</title></rect>
<rect x="95.62" y="155.00" width="11.12" height="0.00" rx="2" fill="#00ffc8"><title>05:00 — 0 commits</title></rect>
<rect x="107.75" y="154.45" width="11.12" height="0.55" rx="2" fill="#00ffc8"><title>06:00 — 2 commits</title></rect>
<rect x="119.88" y="153.07" width="11.12" height="1.93" rx="2" fill="#00ffc8"><title>07:00 — 7 commits</title></rect>
<rect x="132.00" y="132.18" width="11.12" height="22.82" rx="2" fill="#00ffc8"><title>08:00 — 83 commits</title></rect>
<rect x="144.12" y="61.22" width="11.12" height="93.78" rx="2" fill="#00ffc8"><title>09:00 — 341 commits</title></rect>
<rect x="156.25" y="48.30" width="11.12" height="106.70" rx="2" fill="#00ffc8"><title>10:00 — 388 commits</title></rect>
<rect x="168.38" y="68.38" width="11.12" height="86.62" rx="2" fill="#00ffc8"><title>11:00 — 315 commits</title></rect>
<rect x="180.50" y="101.65" width="11.12" height="53.35" rx="2" fill="#00ffc8"><title>12:00 — 194 commits</title></rect>
<rect x="192.62" y="74.97" width="11.12" height="80.03" rx="2" fill="#00ffc8"><title>13:00 — 291 commits</title></rect>
<rect x="204.75" y="78.83" width="11.12" height="76.17" rx="2" fill="#00ffc8"><title>14:00 — 277 commits</title></rect>
<rect x="216.88" y="78.00" width="11.12" height="77.00" rx="2" fill="#00ffc8"><title>15:00 — 280 commits</title></rect>
<rect x="229.00" y="56.28" width="11.12" height="98.72" rx="2" fill="#00ffc8"><title>16:00 — 359 commits</title></rect>
<rect x="241.12" y="61.50" width="11.12" height="93.50" rx="2" fill="#00ffc8"><title>17:00 — 340 commits</title></rect>
<rect x="253.25" y="103.85" width="11.12" height="51.15" rx="2" fill="#00ffc8"><title>18:00 — 186 commits</title></rect>
<rect x="265.38" y="117.60" width="11.12" height="37.40" rx="2" fill="#00ffc8"><title>19:00 — 136 commits</title></rect>
<rect x="277.50" y="65.62" width="11.12" height="89.38" rx="2" fill="#00ffc8"><title>20:00 — 325 commits</title></rect>
<rect x="289.62" y="51.05" width="11.12" height="103.95" rx="2" fill="#00ffc8"><title>21:00 — 378 commits</title></rect>
<rect x="301.75" y="58.20" width="11.12" height="96.80" rx="2" fill="#00ffc8"><title>22:00 — 352 commits</title></rect>
<rect x="313.88" y="71.67" width="11.12" height="83.33" rx="2" fill="#00ffc8"><title>23:00 — 303 commits</title></rect>
<text x="180" y="189" font-size="11" fill="#fcee0c" text-anchor="middle">hour of day</text>
</svg>

After

Width:  |  Height:  |  Size: 4.9 KiB

+36
View File
@@ -0,0 +1,36 @@
<svg xmlns="http://www.w3.org/2000/svg" width="340" height="200" viewBox="0 0 340 200" font-family="'Segoe UI', Ubuntu, Sans-Serif">
<rect x="0.5" y="0.5" width="339" height="199" rx="6" fill="#141321" stroke="#141321" stroke-opacity="1.00"/>
<text x="20" y="30" font-size="15" font-weight="600" fill="#ff0055">Commits by Weekday (all time)</text>
<line x1="35" y1="45" x2="35" y2="155" stroke="#fcee0c"/>
<line x1="31" y1="155" x2="35" y2="155" stroke="#fcee0c"/>
<text x="29" y="158" font-size="10" fill="#fcee0c" text-anchor="end">0</text>
<line x1="31" y1="140" x2="35" y2="140" stroke="#fcee0c"/>
<text x="29" y="143" font-size="10" fill="#fcee0c" text-anchor="end">200</text>
<line x1="31" y1="124" x2="35" y2="124" stroke="#fcee0c"/>
<text x="29" y="127" font-size="10" fill="#fcee0c" text-anchor="end">400</text>
<line x1="31" y1="108" x2="35" y2="108" stroke="#fcee0c"/>
<text x="29" y="111" font-size="10" fill="#fcee0c" text-anchor="end">600</text>
<line x1="31" y1="93" x2="35" y2="93" stroke="#fcee0c"/>
<text x="29" y="96" font-size="10" fill="#fcee0c" text-anchor="end">800</text>
<line x1="31" y1="77" x2="35" y2="77" stroke="#fcee0c"/>
<text x="29" y="80" font-size="10" fill="#fcee0c" text-anchor="end">1k</text>
<line x1="31" y1="61" x2="35" y2="61" stroke="#fcee0c"/>
<text x="29" y="64" font-size="10" fill="#fcee0c" text-anchor="end">1.2k</text>
<line x1="31" y1="45" x2="35" y2="45" stroke="#fcee0c"/>
<text x="29" y="48" font-size="10" fill="#fcee0c" text-anchor="end">1.4k</text>
<line x1="35" y1="155" x2="325" y2="155" stroke="#fcee0c"/>
<rect x="35.00" y="75.33" width="36.29" height="79.67" rx="2" fill="#09947c"><title>Mon — 1014 commits</title></rect>
<text x="53.14" y="169" font-size="10" fill="#fcee0c" text-anchor="middle">Mon</text>
<rect x="77.29" y="84.52" width="36.29" height="70.48" rx="2" fill="#09947c"><title>Tue — 897 commits</title></rect>
<text x="95.43" y="169" font-size="10" fill="#fcee0c" text-anchor="middle">Tue</text>
<rect x="119.57" y="84.13" width="36.29" height="70.87" rx="2" fill="#09947c"><title>Wed — 902 commits</title></rect>
<text x="137.71" y="169" font-size="10" fill="#fcee0c" text-anchor="middle">Wed</text>
<rect x="161.86" y="97.96" width="36.29" height="57.04" rx="2" fill="#09947c"><title>Thu — 726 commits</title></rect>
<text x="180.00" y="169" font-size="10" fill="#fcee0c" text-anchor="middle">Thu</text>
<rect x="204.14" y="96.94" width="36.29" height="58.06" rx="2" fill="#09947c"><title>Fri — 739 commits</title></rect>
<text x="222.29" y="169" font-size="10" fill="#fcee0c" text-anchor="middle">Fri</text>
<rect x="246.43" y="53.56" width="36.29" height="101.44" rx="2" fill="#00ffc8"><title>Sat — 1291 commits</title></rect>
<text x="264.57" y="169" font-size="10" fill="#fcee0c" text-anchor="middle">Sat</text>
<rect x="288.71" y="73.76" width="36.29" height="81.24" rx="2" fill="#09947c"><title>Sun — 1034 commits</title></rect>
<text x="306.86" y="169" font-size="10" fill="#fcee0c" text-anchor="middle">Sun</text>
</svg>

After

Width:  |  Height:  |  Size: 3.0 KiB

+32
View File
@@ -0,0 +1,32 @@
<svg xmlns="http://www.w3.org/2000/svg" width="340" height="200" viewBox="0 0 340 200" font-family="'Segoe UI', Ubuntu, Sans-Serif">
<rect x="0.5" y="0.5" width="339" height="199" rx="6" fill="#141321" stroke="#141321" stroke-opacity="1.00"/>
<text x="20" y="30" font-size="15" font-weight="600" fill="#ff0055">Commits by Weekday (last year)</text>
<line x1="35" y1="45" x2="35" y2="155" stroke="#fcee0c"/>
<line x1="31" y1="155" x2="35" y2="155" stroke="#fcee0c"/>
<text x="29" y="158" font-size="10" fill="#fcee0c" text-anchor="end">0</text>
<line x1="31" y1="133" x2="35" y2="133" stroke="#fcee0c"/>
<text x="29" y="136" font-size="10" fill="#fcee0c" text-anchor="end">200</text>
<line x1="31" y1="111" x2="35" y2="111" stroke="#fcee0c"/>
<text x="29" y="114" font-size="10" fill="#fcee0c" text-anchor="end">400</text>
<line x1="31" y1="89" x2="35" y2="89" stroke="#fcee0c"/>
<text x="29" y="92" font-size="10" fill="#fcee0c" text-anchor="end">600</text>
<line x1="31" y1="67" x2="35" y2="67" stroke="#fcee0c"/>
<text x="29" y="70" font-size="10" fill="#fcee0c" text-anchor="end">800</text>
<line x1="31" y1="45" x2="35" y2="45" stroke="#fcee0c"/>
<text x="29" y="48" font-size="10" fill="#fcee0c" text-anchor="end">1k</text>
<line x1="35" y1="155" x2="325" y2="155" stroke="#fcee0c"/>
<rect x="35.00" y="68.43" width="36.29" height="86.57" rx="2" fill="#09947c"><title>Mon — 787 commits</title></rect>
<text x="53.14" y="169" font-size="10" fill="#fcee0c" text-anchor="middle">Mon</text>
<rect x="77.29" y="81.41" width="36.29" height="73.59" rx="2" fill="#09947c"><title>Tue — 669 commits</title></rect>
<text x="95.43" y="169" font-size="10" fill="#fcee0c" text-anchor="middle">Tue</text>
<rect x="119.57" y="74.81" width="36.29" height="80.19" rx="2" fill="#09947c"><title>Wed — 729 commits</title></rect>
<text x="137.71" y="169" font-size="10" fill="#fcee0c" text-anchor="middle">Wed</text>
<rect x="161.86" y="97.58" width="36.29" height="57.42" rx="2" fill="#09947c"><title>Thu — 522 commits</title></rect>
<text x="180.00" y="169" font-size="10" fill="#fcee0c" text-anchor="middle">Thu</text>
<rect x="204.14" y="91.31" width="36.29" height="63.69" rx="2" fill="#09947c"><title>Fri — 579 commits</title></rect>
<text x="222.29" y="169" font-size="10" fill="#fcee0c" text-anchor="middle">Fri</text>
<rect x="246.43" y="51.05" width="36.29" height="103.95" rx="2" fill="#00ffc8"><title>Sat — 945 commits</title></rect>
<text x="264.57" y="169" font-size="10" fill="#fcee0c" text-anchor="middle">Sat</text>
<rect x="288.71" y="84.05" width="36.29" height="70.95" rx="2" fill="#09947c"><title>Sun — 645 commits</title></rect>
<text x="306.86" y="169" font-size="10" fill="#fcee0c" text-anchor="middle">Sun</text>
</svg>

After

Width:  |  Height:  |  Size: 2.7 KiB

+16
View File
@@ -0,0 +1,16 @@
<svg xmlns="http://www.w3.org/2000/svg" width="340" height="200" viewBox="0 0 340 200" font-family="'Segoe UI', Ubuntu, Sans-Serif">
<rect x="0.5" y="0.5" width="339" height="199" rx="6" fill="#141321" stroke="#141321" stroke-opacity="1.00"/>
<text x="20" y="30" font-size="15" font-weight="600" fill="#ff0055">tiennm99 (Tien Nguyen Minh)</text>
<g transform="translate(20,50.00) scale(0.750)" fill="#fcee0c"><path fill-rule="evenodd" d="M1.5 14.25c0 .138.112.25.25.25H4v-1.25a.75.75 0 01.75-.75h2.5a.75.75 0 01.75.75v1.25h2.25a.25.25 0 00.25-.25V1.75a.25.25 0 00-.25-.25h-8.5a.25.25 0 00-.25.25v12.5zM1.75 16A1.75 1.75 0 010 14.25V1.75C0 .784.784 0 1.75 0h8.5C11.216 0 12 .784 12 1.75v12.5c0 .085-.006.168-.018.25h2.268a.25.25 0 00.25-.25V8.285a.25.25 0 00-.111-.208l-1.055-.703a.75.75 0 11.832-1.248l1.055.703c.487.325.779.871.779 1.456v5.965A1.75 1.75 0 0114.25 16h-3.5a.75.75 0 01-.197-.026c-.099.017-.2.026-.303.026h-3a.75.75 0 01-.75-.75V14h-1v1.25a.75.75 0 01-.75.75h-3zM3 3.75A.75.75 0 013.75 3h.5a.75.75 0 010 1.5h-.5A.75.75 0 013 3.75zM3.75 6a.75.75 0 000 1.5h.5a.75.75 0 000-1.5h-.5zM3 9.75A.75.75 0 013.75 9h.5a.75.75 0 010 1.5h-.5A.75.75 0 013 9.75zM7.75 9a.75.75 0 000 1.5h.5a.75.75 0 000-1.5h-.5zM7 6.75A.75.75 0 017.75 6h.5a.75.75 0 010 1.5h-.5A.75.75 0 017 6.75zM7.75 3a.75.75 0 000 1.5h.5a.75.75 0 000-1.5h-.5z"/></g>
<text x="40" y="60" font-size="12" fill="#03d8f3">VNG Corporation</text>
<g transform="translate(20,70.00) scale(0.750)" fill="#fcee0c"><path fill-rule="evenodd" d="M11.536 3.464a5 5 0 010 7.072L8 14.07l-3.536-3.535a5 5 0 117.072-7.072v.001zm1.06 8.132a6.5 6.5 0 10-9.192 0l3.535 3.536a1.5 1.5 0 002.122 0l3.535-3.536zM8 9a2 2 0 100-4 2 2 0 000 4z"/></g>
<text x="40" y="80" font-size="12" fill="#03d8f3">Ho Chi Minh - Viet Nam</text>
<g transform="translate(20,90.00) scale(0.750)" fill="#fcee0c"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"/></g>
<text x="40" y="100" font-size="12" fill="#03d8f3">miti99.com</text>
<g transform="translate(20,110.00) scale(0.750)" fill="#fcee0c"><path fill-rule="evenodd" d="M1.5 8a6.5 6.5 0 1113 0 6.5 6.5 0 01-13 0zM8 0a8 8 0 100 16A8 8 0 008 0zm.5 4.75a.75.75 0 00-1.5 0v3.5a.75.75 0 00.471.696l2.5 1a.75.75 0 00.557-1.392L8.5 7.742V4.75z"/></g>
<text x="40" y="120" font-size="12" fill="#03d8f3">2018-05-07 (8 years ago)</text>
<g transform="translate(20,130.00) scale(0.750)" fill="#fcee0c"><path fill-rule="evenodd" d="M5.5 3.5a2 2 0 100 4 2 2 0 000-4zM2 5.5a3.5 3.5 0 115.898 2.549 5.507 5.507 0 013.034 4.084.75.75 0 11-1.482.235 4.001 4.001 0 00-7.9 0 .75.75 0 01-1.482-.236A5.507 5.507 0 013.102 8.05 3.49 3.49 0 012 5.5zM11 4a.75.75 0 100 1.5 1.5 1.5 0 01.666 2.844.75.75 0 00-.416.672v.352a.75.75 0 00.574.73c1.2.289 2.162 1.2 2.522 2.372a.75.75 0 101.434-.44 5.01 5.01 0 00-2.56-3.012A3 3 0 0011 4z"/></g>
<text x="40" y="140" font-size="12" fill="#03d8f3">15 followers · 16 following</text>
<g transform="translate(20,150.00) scale(0.750)" fill="#fcee0c"><path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"/></g>
<text x="40" y="160" font-size="12" fill="#03d8f3">197 repos</text>
</svg>

After

Width:  |  Height:  |  Size: 3.7 KiB

+22
View File
@@ -0,0 +1,22 @@
<svg xmlns="http://www.w3.org/2000/svg" width="340" height="200" viewBox="0 0 340 200" font-family="'Segoe UI', Ubuntu, Sans-Serif">
<rect x="0.5" y="0.5" width="339" height="199" rx="6" fill="#141321" stroke="#141321" stroke-opacity="1.00"/>
<text x="20" y="30" font-size="15" font-weight="600" fill="#ff0055">Records (all time)</text>
<g transform="translate(20,45.00) scale(0.750)" fill="#fcee0c"><path fill-rule="evenodd" d="M10.5 7.75a2.5 2.5 0 11-5 0 2.5 2.5 0 015 0zm1.43.75a4.002 4.002 0 01-7.86 0H.75a.75.75 0 110-1.5h3.32a4.001 4.001 0 017.86 0h3.32a.75.75 0 110 1.5h-3.32z"/></g>
<text x="40" y="55" font-size="12" fill="#03d8f3">Best day</text>
<text x="320" y="55" font-size="12" font-weight="600" fill="#00ffc8" text-anchor="end">228 on 2026-05-09</text>
<g transform="translate(20,65.00) scale(0.750)" fill="#fcee0c"><path fill-rule="evenodd" d="M8 .25a.75.75 0 01.673.418l1.882 3.815 4.21.612a.75.75 0 01.416 1.279l-3.046 2.97.719 4.192a.75.75 0 01-1.088.791L8 12.347l-3.766 1.98a.75.75 0 01-1.088-.79l.72-4.194L.818 6.374a.75.75 0 01.416-1.28l4.21-.611L7.327.668A.75.75 0 018 .25zm0 2.445L6.615 5.5a.75.75 0 01-.564.41l-3.097.45 2.24 2.184a.75.75 0 01.216.664l-.528 3.084 2.769-1.456a.75.75 0 01.698 0l2.77 1.456-.53-3.084a.75.75 0 01.216-.664l2.24-2.183-3.096-.45a.75.75 0 01-.564-.41L8 2.694v.001z"/></g>
<text x="40" y="75" font-size="12" fill="#03d8f3">Best month</text>
<text x="320" y="75" font-size="12" font-weight="600" fill="#00ffc8" text-anchor="end">1,762 in Apr 2026</text>
<g transform="translate(20,85.00) scale(0.750)" fill="#fcee0c"><path fill-rule="evenodd" d="M4.75 0a.75.75 0 01.75.75V2h5V.75a.75.75 0 011.5 0V2h1.25c.966 0 1.75.784 1.75 1.75v10.5A1.75 1.75 0 0113.25 16H2.75A1.75 1.75 0 011 14.25V3.75C1 2.784 1.784 2 2.75 2H4V.75A.75.75 0 014.75 0zm0 3.5h8.5a.25.25 0 01.25.25V6h-11V3.75a.25.25 0 01.25-.25h2zM2.5 7.5v6.75c0 .138.112.25.25.25h10.5a.25.25 0 00.25-.25V7.5h-11z"/></g>
<text x="40" y="95" font-size="12" fill="#03d8f3">First contribution</text>
<text x="320" y="95" font-size="12" font-weight="600" fill="#00ffc8" text-anchor="end">2018-05-08</text>
<g transform="translate(20,105.00) scale(0.750)" fill="#fcee0c"><path d="M1.643 3.143L.427 1.927A.25.25 0 000 2.104V5.75c0 .138.112.25.25.25h3.646a.25.25 0 00.177-.427L2.715 4.215a6.5 6.5 0 11-1.18 4.456.75.75 0 10-1.493.154 8.001 8.001 0 101.6-5.682zM7.75 4a.75.75 0 01.75.75v2.992l2.028.812a.75.75 0 01-.557 1.392l-2.5-1A.75.75 0 017 8.25v-3.5A.75.75 0 017.75 4z"/></g>
<text x="40" y="115" font-size="12" fill="#03d8f3">Active days</text>
<text x="320" y="115" font-size="12" font-weight="600" fill="#00ffc8" text-anchor="end">748</text>
<g transform="translate(20,125.00) scale(0.750)" fill="#fcee0c"><path fill-rule="evenodd" d="M1.5 8a6.5 6.5 0 1113 0 6.5 6.5 0 01-13 0zM8 0a8 8 0 100 16A8 8 0 008 0zm.5 4.75a.75.75 0 00-1.5 0v3.5a.75.75 0 00.471.696l2.5 1a.75.75 0 00.557-1.392L8.5 7.742V4.75z"/></g>
<text x="40" y="135" font-size="12" fill="#03d8f3">On GitHub</text>
<text x="320" y="135" font-size="12" font-weight="600" fill="#00ffc8" text-anchor="end">8.4 years</text>
<g transform="translate(20,145.00) scale(0.750)" fill="#fcee0c"><path fill-rule="evenodd" d="M1.543 7.25h2.733c.144-2.074.866-3.756 1.58-4.948.12-.197.237-.381.353-.552a6.506 6.506 0 00-4.666 5.5zm2.733 1.5H1.543a6.506 6.506 0 004.666 5.5 11.13 11.13 0 01-.352-.552c-.715-1.192-1.437-2.874-1.581-4.948zm1.504 0h4.44a9.637 9.637 0 01-1.363 4.177c-.306.51-.612.919-.857 1.215-.245-.296-.55-.705-.857-1.215A9.638 9.638 0 015.78 8.75zM10.22 7.25H5.78a9.637 9.637 0 011.363-4.177c.306-.51.612-.919.857-1.215.245.296.55.705.857 1.215A9.638 9.638 0 0110.22 7.25zm1.504 1.5c-.144 2.074-.866 3.756-1.58 4.948-.12.197-.237.381-.353.552a6.506 6.506 0 004.666-5.5h-2.733zm2.733-1.5h-2.733c-.144-2.074-.866-3.756-1.58-4.948a11.13 11.13 0 00-.353-.552 6.506 6.506 0 014.666 5.5zM8 0a8 8 0 100 16A8 8 0 008 0z"/></g>
<text x="40" y="155" font-size="12" fill="#03d8f3">Languages used</text>
<text x="320" y="155" font-size="12" font-weight="600" fill="#00ffc8" text-anchor="end">54</text>
</svg>

After

Width:  |  Height:  |  Size: 4.0 KiB

+25
View File
@@ -0,0 +1,25 @@
<svg xmlns="http://www.w3.org/2000/svg" width="340" height="200" viewBox="0 0 340 200" font-family="'Segoe UI', Ubuntu, Sans-Serif">
<rect x="0.5" y="0.5" width="339" height="199" rx="6" fill="#141321" stroke="#141321" stroke-opacity="1.00"/>
<text x="20" y="30" font-size="15" font-weight="600" fill="#ff0055">Repos Per Language</text>
<rect x="20" y="47" width="10" height="10" fill="#f1e05a" stroke="#141321" stroke-width="1"/>
<text x="36" y="55" font-size="11" fill="#03d8f3">JavaScript 29.71%</text>
<rect x="20" y="67" width="10" height="10" fill="#00ADD8" stroke="#141321" stroke-width="1"/>
<text x="36" y="75" font-size="11" fill="#03d8f3">Go 16.00%</text>
<rect x="20" y="87" width="10" height="10" fill="#e34c26" stroke="#141321" stroke-width="1"/>
<text x="36" y="95" font-size="11" fill="#03d8f3">HTML 10.86%</text>
<rect x="20" y="107" width="10" height="10" fill="#3572A5" stroke="#141321" stroke-width="1"/>
<text x="36" y="115" font-size="11" fill="#03d8f3">Python 10.29%</text>
<rect x="20" y="127" width="10" height="10" fill="#b07219" stroke="#141321" stroke-width="1"/>
<text x="36" y="135" font-size="11" fill="#03d8f3">Java 8.57%</text>
<rect x="20" y="147" width="10" height="10" fill="#f34b7d" stroke="#141321" stroke-width="1"/>
<text x="36" y="155" font-size="11" fill="#03d8f3">C++ 4.57%</text>
<rect x="20" y="167" width="10" height="10" fill="#00ffc8" stroke="#141321" stroke-width="1"/>
<text x="36" y="175" font-size="11" fill="#03d8f3">Other 20.00%</text>
<path d="M250.00,55.00 A55.00,55.00 0 0 1 302.60,126.05 L278.69,118.76 A30.00,30.00 0 0 0 250.00,80.00 Z" fill="#f1e05a" stroke="#141321" stroke-width="1.5"/>
<path d="M302.60,126.05 A55.00,55.00 0 0 1 264.63,163.02 L257.98,138.92 A30.00,30.00 0 0 0 278.69,118.76 Z" fill="#00ADD8" stroke="#141321" stroke-width="1.5"/>
<path d="M264.63,163.02 A55.00,55.00 0 0 1 227.93,160.38 L237.96,137.48 A30.00,30.00 0 0 0 257.98,138.92 Z" fill="#e34c26" stroke="#141321" stroke-width="1.5"/>
<path d="M227.93,160.38 A55.00,55.00 0 0 1 202.04,136.93 L223.84,124.69 A30.00,30.00 0 0 0 237.96,137.48 Z" fill="#3572A5" stroke="#141321" stroke-width="1.5"/>
<path d="M202.04,136.93 A55.00,55.00 0 0 1 195.02,108.52 L220.01,109.19 A30.00,30.00 0 0 0 223.84,124.69 Z" fill="#b07219" stroke="#141321" stroke-width="1.5"/>
<path d="M195.02,108.52 A55.00,55.00 0 0 1 197.69,93.00 L221.47,100.73 A30.00,30.00 0 0 0 220.01,109.19 Z" fill="#f34b7d" stroke="#141321" stroke-width="1.5"/>
<path d="M197.69,93.00 A55.00,55.00 0 0 1 250.00,55.00 L250.00,80.00 A30.00,30.00 0 0 0 221.47,100.73 Z" fill="#00ffc8" stroke="#141321" stroke-width="1.5"/>
</svg>

After

Width:  |  Height:  |  Size: 2.6 KiB

+25
View File
@@ -0,0 +1,25 @@
<svg xmlns="http://www.w3.org/2000/svg" width="340" height="200" viewBox="0 0 340 200" font-family="'Segoe UI', Ubuntu, Sans-Serif">
<rect x="0.5" y="0.5" width="339" height="199" rx="6" fill="#141321" stroke="#141321" stroke-opacity="1.00"/>
<text x="20" y="30" font-size="15" font-weight="600" fill="#ff0055">Stats</text>
<g transform="translate(20,45.00) scale(0.750)" fill="#fcee0c"><path fill-rule="evenodd" d="M8 .25a.75.75 0 01.673.418l1.882 3.815 4.21.612a.75.75 0 01.416 1.279l-3.046 2.97.719 4.192a.75.75 0 01-1.088.791L8 12.347l-3.766 1.98a.75.75 0 01-1.088-.79l.72-4.194L.818 6.374a.75.75 0 01.416-1.28l4.21-.611L7.327.668A.75.75 0 018 .25zm0 2.445L6.615 5.5a.75.75 0 01-.564.41l-3.097.45 2.24 2.184a.75.75 0 01.216.664l-.528 3.084 2.769-1.456a.75.75 0 01.698 0l2.77 1.456-.53-3.084a.75.75 0 01.216-.664l2.24-2.183-3.096-.45a.75.75 0 01-.564-.41L8 2.694v.001z"/></g>
<text x="40" y="55" font-size="12" fill="#03d8f3">Total Stars</text>
<text x="320" y="55" font-size="12" font-weight="600" fill="#00ffc8" text-anchor="end">12</text>
<g transform="translate(20,65.00) scale(0.750)" fill="#fcee0c"><path fill-rule="evenodd" d="M10.5 7.75a2.5 2.5 0 11-5 0 2.5 2.5 0 015 0zm1.43.75a4.002 4.002 0 01-7.86 0H.75a.75.75 0 110-1.5h3.32a4.001 4.001 0 017.86 0h3.32a.75.75 0 110 1.5h-3.32z"/></g>
<text x="40" y="75" font-size="12" fill="#03d8f3">Total Commits (all time)</text>
<text x="320" y="75" font-size="12" font-weight="600" fill="#00ffc8" text-anchor="end">10,384</text>
<g transform="translate(20,85.00) scale(0.750)" fill="#fcee0c"><path fill-rule="evenodd" d="M10.5 7.75a2.5 2.5 0 11-5 0 2.5 2.5 0 015 0zm1.43.75a4.002 4.002 0 01-7.86 0H.75a.75.75 0 110-1.5h3.32a4.001 4.001 0 017.86 0h3.32a.75.75 0 110 1.5h-3.32z"/></g>
<text x="40" y="95" font-size="12" fill="#03d8f3">Total Commits (last year)</text>
<text x="320" y="95" font-size="12" font-weight="600" fill="#00ffc8" text-anchor="end">8,058</text>
<g transform="translate(20,105.00) scale(0.750)" fill="#fcee0c"><path fill-rule="evenodd" d="M7.177 3.073L9.573.677A.25.25 0 0110 .854v4.792a.25.25 0 01-.427.177L7.177 3.427a.25.25 0 010-.354zM3.75 2.5a.75.75 0 100 1.5.75.75 0 000-1.5zm-2.25.75a2.25 2.25 0 113 2.122v5.256a2.251 2.251 0 11-1.5 0V5.372A2.25 2.25 0 011.5 3.25zM11 2.5h-1V4h1a1 1 0 011 1v5.628a2.251 2.251 0 101.5 0V5A2.5 2.5 0 0011 2.5zm1 10.25a.75.75 0 111.5 0 .75.75 0 01-1.5 0zM3.75 12a.75.75 0 100 1.5.75.75 0 000-1.5z"/></g>
<text x="40" y="115" font-size="12" fill="#03d8f3">Total PRs</text>
<text x="320" y="115" font-size="12" font-weight="600" fill="#00ffc8" text-anchor="end">225</text>
<g transform="translate(20,125.00) scale(0.750)" fill="#fcee0c"><path fill-rule="evenodd" d="M8 1.5a6.5 6.5 0 100 13 6.5 6.5 0 000-13zM0 8a8 8 0 1116 0A8 8 0 010 8zm9 3a1 1 0 11-2 0 1 1 0 012 0zm-.25-6.25a.75.75 0 00-1.5 0v3.5a.75.75 0 001.5 0v-3.5z"/></g>
<text x="40" y="135" font-size="12" fill="#03d8f3">Total Issues</text>
<text x="320" y="135" font-size="12" font-weight="600" fill="#00ffc8" text-anchor="end">13</text>
<g transform="translate(20,145.00) scale(0.750)" fill="#fcee0c"><path fill-rule="evenodd" d="M1.5 2.75a.25.25 0 01.25-.25h12.5a.25.25 0 01.25.25v8.5a.25.25 0 01-.25.25h-6.5a.75.75 0 00-.53.22L4.5 14.44v-2.19a.75.75 0 00-.75-.75h-2a.25.25 0 01-.25-.25v-8.5zM1.75 1A1.75 1.75 0 000 2.75v8.5C0 12.216.784 13 1.75 13H3v1.543a1.457 1.457 0 002.487 1.03L8.061 13h6.189A1.75 1.75 0 0016 11.25v-8.5A1.75 1.75 0 0014.25 1H1.75zm5.03 3.47a.75.75 0 010 1.06L5.31 7l1.47 1.47a.75.75 0 01-1.06 1.06l-2-2a.75.75 0 010-1.06l2-2a.75.75 0 011.06 0zm2.44 0a.75.75 0 000 1.06L10.69 7 9.22 8.47a.75.75 0 001.06 1.06l2-2a.75.75 0 000-1.06l-2-2a.75.75 0 00-1.06 0z"/></g>
<text x="40" y="155" font-size="12" fill="#03d8f3">Total PR Reviews</text>
<text x="320" y="155" font-size="12" font-weight="600" fill="#00ffc8" text-anchor="end">12</text>
<g transform="translate(20,165.00) scale(0.750)" fill="#fcee0c"><path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"/></g>
<text x="40" y="175" font-size="12" fill="#03d8f3">Contributed to</text>
<text x="320" y="175" font-size="12" font-weight="600" fill="#00ffc8" text-anchor="end">90</text>
</svg>

After

Width:  |  Height:  |  Size: 4.4 KiB

+13
View File
@@ -0,0 +1,13 @@
<svg xmlns="http://www.w3.org/2000/svg" width="340" height="200" viewBox="0 0 340 200" font-family="'Segoe UI', Ubuntu, Sans-Serif">
<rect x="0.5" y="0.5" width="339" height="199" rx="6" fill="#141321" stroke="#141321" stroke-opacity="1.00"/>
<text x="20" y="30" font-size="15" font-weight="600" fill="#ff0055">Streak</text>
<text x="56" y="95" font-size="28" font-weight="700" fill="#00ffc8" text-anchor="middle">11</text>
<text x="56" y="120" font-size="12" fill="#03d8f3" text-anchor="middle">Current streak</text>
<text x="56" y="140" font-size="10" fill="#fcee0c" text-anchor="middle">Sep 27 — Oct 7</text>
<text x="169" y="95" font-size="28" font-weight="700" fill="#00ffc8" text-anchor="middle">176</text>
<text x="169" y="120" font-size="12" fill="#03d8f3" text-anchor="middle">Longest streak</text>
<text x="169" y="140" font-size="10" fill="#fcee0c" text-anchor="middle">Mar 30 — Sep 21</text>
<text x="282" y="95" font-size="28" font-weight="700" fill="#00ffc8" text-anchor="middle">748</text>
<text x="282" y="120" font-size="12" fill="#03d8f3" text-anchor="middle">Active days</text>
<text x="282" y="140" font-size="10" fill="#fcee0c" text-anchor="middle">of 3,202 total (23%)</text>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

+39
View File
@@ -0,0 +1,39 @@
<svg xmlns="http://www.w3.org/2000/svg" width="340" height="200" viewBox="0 0 340 200" font-family="'Segoe UI', Ubuntu, Sans-Serif">
<rect x="0.5" y="0.5" width="339" height="199" rx="6" fill="#141321" stroke="#141321" stroke-opacity="1.00"/>
<text x="20" y="30" font-size="15" font-weight="600" fill="#ff0055">Top Starred Repos</text>
<circle cx="24" cy="51" r="4" fill="#00ADD8"/>
<text x="34" y="55" font-size="12" fill="#03d8f3">awesome-ai-dev-t…</text>
<rect x="150" y="47" width="120" height="10" rx="3" fill="#00ffc8" fill-opacity="0.15"/>
<rect x="150" y="47" width="120.00" height="10" rx="3" fill="#00ffc8"/>
<text x="334" y="55" font-size="12" font-weight="600" fill="#00ffc8" text-anchor="end">3 ★</text>
<circle cx="24" cy="71" r="4" fill="#00ADD8"/>
<text x="34" y="75" font-size="12" fill="#03d8f3">ghglance</text>
<rect x="150" y="67" width="120" height="10" rx="3" fill="#00ffc8" fill-opacity="0.15"/>
<rect x="150" y="67" width="40.00" height="10" rx="3" fill="#00ffc8"/>
<text x="334" y="75" font-size="12" font-weight="600" fill="#00ffc8" text-anchor="end">1 ★</text>
<circle cx="24" cy="91" r="4" fill="#f1e05a"/>
<text x="34" y="95" font-size="12" fill="#03d8f3">ai-labs</text>
<rect x="150" y="87" width="120" height="10" rx="3" fill="#00ffc8" fill-opacity="0.15"/>
<rect x="150" y="87" width="40.00" height="10" rx="3" fill="#00ffc8"/>
<text x="334" y="95" font-size="12" font-weight="600" fill="#00ffc8" text-anchor="end">1 ★</text>
<circle cx="24" cy="111" r="4" fill="#e34c26"/>
<text x="34" y="115" font-size="12" fill="#03d8f3">penny-pincher-pr…</text>
<rect x="150" y="107" width="120" height="10" rx="3" fill="#00ffc8" fill-opacity="0.15"/>
<rect x="150" y="107" width="40.00" height="10" rx="3" fill="#00ffc8"/>
<text x="334" y="115" font-size="12" font-weight="600" fill="#00ffc8" text-anchor="end">1 ★</text>
<circle cx="24" cy="131" r="4" fill="#dea584"/>
<text x="34" y="135" font-size="12" fill="#03d8f3">time-mocker</text>
<rect x="150" y="127" width="120" height="10" rx="3" fill="#00ffc8" fill-opacity="0.15"/>
<rect x="150" y="127" width="40.00" height="10" rx="3" fill="#00ffc8"/>
<text x="334" y="135" font-size="12" font-weight="600" fill="#00ffc8" text-anchor="end">1 ★</text>
<circle cx="24" cy="151" r="4" fill="#00ADD8"/>
<text x="34" y="155" font-size="12" fill="#03d8f3">adventofcode</text>
<rect x="150" y="147" width="120" height="10" rx="3" fill="#00ffc8" fill-opacity="0.15"/>
<rect x="150" y="147" width="40.00" height="10" rx="3" fill="#00ffc8"/>
<text x="334" y="155" font-size="12" font-weight="600" fill="#00ffc8" text-anchor="end">1 ★</text>
<circle cx="24" cy="171" r="4" fill="#3572A5"/>
<text x="34" y="175" font-size="12" fill="#03d8f3">export-telegram-…</text>
<rect x="150" y="167" width="120" height="10" rx="3" fill="#00ffc8" fill-opacity="0.15"/>
<rect x="150" y="167" width="40.00" height="10" rx="3" fill="#00ffc8"/>
<text x="334" y="175" font-size="12" font-weight="600" fill="#00ffc8" text-anchor="end">1 ★</text>
</svg>

After

Width:  |  Height:  |  Size: 3.0 KiB

+73
View File
@@ -0,0 +1,73 @@
# ghglance demo gallery
Every card rendered for [`tiennm99`](https://github.com/tiennm99) in every supported theme. Click a theme to open its gallery page — each page embeds 16 SVGs, so only the theme you're reviewing is fetched.
Auto-generated by [`.github/workflows/demo.yml`](../.github/workflows/demo.yml) on each push to `main`. Do not edit by hand.
## Themes
- [`2077`](./2077/README.md)
- [`algolia`](./algolia/README.md)
- [`apprentice`](./apprentice/README.md)
- [`aura`](./aura/README.md)
- [`aura_dark`](./aura_dark/README.md)
- [`ayu_mirage`](./ayu_mirage/README.md)
- [`bear`](./bear/README.md)
- [`blue_green`](./blue_green/README.md)
- [`blueberry`](./blueberry/README.md)
- [`buefy`](./buefy/README.md)
- [`calm`](./calm/README.md)
- [`chartreuse_dark`](./chartreuse_dark/README.md)
- [`city_lights`](./city_lights/README.md)
- [`cobalt`](./cobalt/README.md)
- [`cobalt2`](./cobalt2/README.md)
- [`codeSTACKr`](./codeSTACKr/README.md)
- [`darcula`](./darcula/README.md)
- [`dark`](./dark/README.md)
- [`date_night`](./date_night/README.md)
- [`default`](./default/README.md)
- [`discord_old_blurple`](./discord_old_blurple/README.md)
- [`dracula`](./dracula/README.md)
- [`flag_india`](./flag_india/README.md)
- [`github`](./github/README.md)
- [`github_dark`](./github_dark/README.md)
- [`gotham`](./gotham/README.md)
- [`graywhite`](./graywhite/README.md)
- [`great_gatsby`](./great_gatsby/README.md)
- [`gruvbox`](./gruvbox/README.md)
- [`highcontrast`](./highcontrast/README.md)
- [`holi`](./holi/README.md)
- [`jolly`](./jolly/README.md)
- [`kacho_ga`](./kacho_ga/README.md)
- [`maroongold`](./maroongold/README.md)
- [`material_palenight`](./material_palenight/README.md)
- [`merko`](./merko/README.md)
- [`midnight_purple`](./midnight_purple/README.md)
- [`moltack`](./moltack/README.md)
- [`monokai`](./monokai/README.md)
- [`moonlight`](./moonlight/README.md)
- [`nightowl`](./nightowl/README.md)
- [`noctis_minimus`](./noctis_minimus/README.md)
- [`nord_bright`](./nord_bright/README.md)
- [`nord_dark`](./nord_dark/README.md)
- [`ocean_dark`](./ocean_dark/README.md)
- [`omni`](./omni/README.md)
- [`onedark`](./onedark/README.md)
- [`outrun`](./outrun/README.md)
- [`panda`](./panda/README.md)
- [`prussian`](./prussian/README.md)
- [`radical`](./radical/README.md)
- [`react`](./react/README.md)
- [`rose_pine`](./rose_pine/README.md)
- [`shades_of_purple`](./shades_of_purple/README.md)
- [`slateorange`](./slateorange/README.md)
- [`solarized`](./solarized/README.md)
- [`solarized_dark`](./solarized_dark/README.md)
- [`swift`](./swift/README.md)
- [`synthwave`](./synthwave/README.md)
- [`tokyonight`](./tokyonight/README.md)
- [`transparent`](./transparent/README.md)
- [`vision_friendly_dark`](./vision_friendly_dark/README.md)
- [`vue`](./vue/README.md)
- [`yeblu`](./yeblu/README.md)
- [`zenburn`](./zenburn/README.md)
+21
View File
@@ -0,0 +1,21 @@
# ghglance — algolia
[← back to index](../README.md)
Rendered for [`tiennm99`](https://github.com/tiennm99). 16 SVGs laid out to match the author profile README table.
<div align="center">
<table>
<tr><td><img src="./profile-details.svg" alt="profile-details" /></td><td><img src="./stats.svg" alt="stats" /></td></tr>
<tr><td><img src="./repos-per-language.svg" alt="repos-per-language" /></td><td><img src="./top-starred-repos.svg" alt="top-starred-repos" /></td></tr>
<tr><td><img src="./contributions-by-year.svg" alt="contributions-by-year" /></td><td><img src="./contributions-heatmap.svg" alt="contributions-heatmap" /></td></tr>
<tr><td><img src="./records.svg" alt="records" /></td><td><img src="./streak.svg" alt="streak" /></td></tr>
<tr><th>Last year</th><th>All time</th></tr>
<tr><td><img src="./most-commit-language.svg" alt="most-commit-language" /></td><td><img src="./most-commit-language-all-time.svg" alt="most-commit-language-all-time" /></td></tr>
<tr><td><img src="./contributions.svg" alt="contributions" /></td><td><img src="./contributions-all-time.svg" alt="contributions-all-time" /></td></tr>
<tr><td><img src="./productive-weekday.svg" alt="productive-weekday" /></td><td><img src="./productive-weekday-all-time.svg" alt="productive-weekday-all-time" /></td></tr>
<tr><td><img src="./productive-time.svg" alt="productive-time" /></td><td><img src="./productive-time-all-time.svg" alt="productive-time-all-time" /></td></tr>
</table>
</div>
+42
View File
@@ -0,0 +1,42 @@
<svg xmlns="http://www.w3.org/2000/svg" width="340" height="200" viewBox="0 0 340 200" font-family="'Segoe UI', Ubuntu, Sans-Serif">
<rect x="0.5" y="0.5" width="339" height="199" rx="6" fill="#050f2c" stroke="#000000" stroke-opacity="0.00"/>
<text x="20" y="30" font-size="15" font-weight="600" fill="#00aeff">Contributions (all time)</text>
<line x1="28" y1="45" x2="28" y2="150" stroke="#2dde98"/>
<line x1="312" y1="45" x2="312" y2="150" stroke="#2dde98"/>
<line x1="24" y1="150" x2="28" y2="150" stroke="#2dde98"/>
<text x="22" y="153" font-size="10" fill="#2dde98" text-anchor="end">0</text>
<line x1="312" y1="150" x2="316" y2="150" stroke="#2dde98"/>
<text x="318" y="153" font-size="10" fill="#2dde98" text-anchor="start">0</text>
<line x1="24" y1="124" x2="28" y2="124" stroke="#2dde98"/>
<text x="22" y="127" font-size="10" fill="#2dde98" text-anchor="end">500</text>
<line x1="312" y1="124" x2="316" y2="124" stroke="#2dde98"/>
<text x="318" y="127" font-size="10" fill="#2dde98" text-anchor="start">500</text>
<line x1="24" y1="98" x2="28" y2="98" stroke="#2dde98"/>
<text x="22" y="101" font-size="10" fill="#2dde98" text-anchor="end">1k</text>
<line x1="312" y1="98" x2="316" y2="98" stroke="#2dde98"/>
<text x="318" y="101" font-size="10" fill="#2dde98" text-anchor="start">1k</text>
<line x1="24" y1="72" x2="28" y2="72" stroke="#2dde98"/>
<text x="22" y="75" font-size="10" fill="#2dde98" text-anchor="end">1.5k</text>
<line x1="312" y1="72" x2="316" y2="72" stroke="#2dde98"/>
<text x="318" y="75" font-size="10" fill="#2dde98" text-anchor="start">1.5k</text>
<line x1="24" y1="45" x2="28" y2="45" stroke="#2dde98"/>
<text x="22" y="48" font-size="10" fill="#2dde98" text-anchor="end">2k</text>
<line x1="312" y1="45" x2="316" y2="45" stroke="#2dde98"/>
<text x="318" y="48" font-size="10" fill="#2dde98" text-anchor="start">2k</text>
<line x1="28" y1="150" x2="312" y2="150" stroke="#2dde98"/>
<line x1="28" y1="150" x2="28" y2="154" stroke="#2dde98"/>
<text x="28" y="166" font-size="10" fill="#2dde98" text-anchor="middle">01/18</text>
<line x1="84" y1="150" x2="84" y2="154" stroke="#2dde98"/>
<text x="84" y="166" font-size="10" fill="#2dde98" text-anchor="middle">10/19</text>
<line x1="141" y1="150" x2="141" y2="154" stroke="#2dde98"/>
<text x="141" y="166" font-size="10" fill="#2dde98" text-anchor="middle">07/21</text>
<line x1="198" y1="150" x2="198" y2="154" stroke="#2dde98"/>
<text x="198" y="166" font-size="10" fill="#2dde98" text-anchor="middle">04/23</text>
<line x1="255" y1="150" x2="255" y2="154" stroke="#2dde98"/>
<text x="255" y="166" font-size="10" fill="#2dde98" text-anchor="middle">01/25</text>
<line x1="312" y1="150" x2="312" y2="154" stroke="#2dde98"/>
<text x="312" y="166" font-size="10" fill="#2dde98" text-anchor="middle">10/26</text>
<path d="M28.00,150.00 C28.45,150.00 29.80,150.00 30.70,150.00 C31.61,150.00 32.51,150.00 33.41,150.00 C34.31,150.00 35.21,150.01 36.11,150.00 C37.02,149.99 37.92,150.13 38.82,149.95 C39.72,149.76 40.62,148.89 41.52,148.90 C42.43,148.91 43.33,149.82 44.23,150.00 C45.13,150.18 46.03,150.03 46.93,150.00 C47.83,149.97 48.74,149.97 49.64,149.79 C50.54,149.61 51.44,148.99 52.34,148.95 C53.24,148.91 54.15,149.35 55.05,149.53 C55.95,149.70 56.85,149.93 57.75,150.00 C58.65,150.07 59.56,149.95 60.46,149.95 C61.36,149.95 62.26,149.99 63.16,150.00 C64.06,150.01 64.97,150.00 65.87,150.00 C66.77,150.00 67.67,150.00 68.57,150.00 C69.47,150.00 70.37,150.00 71.28,150.00 C72.18,150.00 73.08,150.01 73.98,150.00 C74.88,149.99 75.78,150.08 76.69,149.95 C77.59,149.82 78.49,149.20 79.39,149.21 C80.29,149.22 81.19,149.87 82.10,150.00 C83.00,150.13 83.90,150.03 84.80,150.00 C85.70,149.97 86.60,149.84 87.50,149.84 C88.41,149.84 89.31,149.97 90.21,150.00 C91.11,150.03 92.01,150.00 92.91,150.00 C93.82,150.00 94.72,150.05 95.62,150.00 C96.52,149.95 97.42,149.69 98.32,149.69 C99.23,149.69 100.13,149.97 101.03,150.00 C101.93,150.03 102.83,149.95 103.73,149.90 C104.63,149.84 105.54,149.68 106.44,149.69 C107.34,149.69 108.24,150.12 109.14,149.95 C110.04,149.77 110.95,148.63 111.85,148.63 C112.75,148.63 113.65,149.89 114.55,149.95 C115.45,150.00 116.36,148.95 117.26,148.95 C118.16,148.95 119.06,149.77 119.96,149.95 C120.86,150.12 121.77,149.99 122.67,150.00 C123.57,150.01 124.47,150.05 125.37,150.00 C126.27,149.95 127.17,149.80 128.08,149.69 C128.98,149.57 129.88,149.33 130.78,149.32 C131.68,149.31 132.58,149.52 133.49,149.63 C134.39,149.75 135.29,149.94 136.19,150.00 C137.09,150.06 137.99,150.00 138.90,150.00 C139.80,150.00 140.70,150.03 141.60,150.00 C142.50,149.97 143.40,149.89 144.30,149.79 C145.21,149.69 146.11,149.46 147.01,149.42 C147.91,149.39 148.81,149.48 149.71,149.58 C150.62,149.68 151.52,149.94 152.42,150.00 C153.32,150.06 154.22,149.98 155.12,149.95 C156.03,149.91 156.93,149.86 157.83,149.79 C158.73,149.72 159.63,149.59 160.53,149.53 C161.43,149.47 162.34,149.41 163.24,149.42 C164.14,149.43 165.04,149.48 165.94,149.58 C166.84,149.68 167.75,150.11 168.65,150.00 C169.55,149.89 170.45,149.14 171.35,148.95 C172.25,148.76 173.16,148.68 174.06,148.84 C174.96,149.01 175.86,149.92 176.76,149.95 C177.66,149.97 178.57,149.36 179.47,149.00 C180.37,148.64 181.27,148.36 182.17,147.79 C183.07,147.23 183.97,146.16 184.88,145.59 C185.78,145.02 186.68,143.65 187.58,144.38 C188.48,145.12 189.38,149.33 190.29,150.00 C191.19,150.67 192.09,148.74 192.99,148.43 C193.89,148.11 194.79,148.03 195.70,148.11 C196.60,148.19 197.50,149.06 198.40,148.90 C199.30,148.73 200.20,147.24 201.10,147.11 C202.01,146.99 202.91,147.80 203.81,148.16 C204.71,148.52 205.61,149.45 206.51,149.26 C207.42,149.08 208.32,148.48 209.22,147.06 C210.12,145.64 211.02,140.82 211.92,140.76 C212.83,140.70 213.73,145.26 214.63,146.69 C215.53,148.13 216.43,149.02 217.33,149.37 C218.23,149.72 219.14,148.70 220.04,148.79 C220.94,148.89 221.84,149.75 222.74,149.95 C223.64,150.15 224.55,150.24 225.45,150.00 C226.35,149.76 227.25,149.80 228.15,148.53 C229.05,147.26 229.96,142.87 230.86,142.39 C231.76,141.91 232.66,144.51 233.56,145.64 C234.46,146.77 235.37,148.50 236.27,149.16 C237.17,149.82 238.07,149.86 238.97,149.63 C239.87,149.41 240.77,148.17 241.68,147.79 C242.58,147.42 243.48,147.53 244.38,147.38 C245.28,147.22 246.18,146.57 247.09,146.85 C247.99,147.13 248.89,148.75 249.79,149.06 C250.69,149.36 251.59,148.65 252.50,148.69 C253.40,148.72 254.30,150.03 255.20,149.26 C256.10,148.49 257.00,145.09 257.90,144.07 C258.81,143.04 259.71,143.47 260.61,143.12 C261.51,142.77 262.41,142.48 263.31,141.97 C264.22,141.45 265.12,139.37 266.02,140.03 C266.92,140.68 267.82,144.86 268.72,145.91 C269.63,146.95 270.53,146.56 271.43,146.32 C272.33,146.09 273.23,144.44 274.13,144.49 C275.03,144.53 275.94,146.96 276.84,146.59 C277.74,146.22 278.64,144.73 279.54,142.28 C280.44,139.83 281.35,132.50 282.25,131.89 C283.15,131.27 284.05,135.94 284.95,138.61 C285.85,141.28 286.76,147.71 287.66,147.90 C288.56,148.09 289.46,144.62 290.36,139.76 C291.26,134.91 292.17,132.47 293.07,118.76 C293.97,105.05 294.87,64.85 295.77,57.50 C296.67,50.14 297.57,64.62 298.48,74.61 C299.38,84.60 300.28,113.99 301.18,117.45 C302.08,120.91 302.98,96.41 303.89,95.35 C304.79,94.29 305.69,108.64 306.59,111.10 C307.49,113.56 308.39,107.32 309.30,110.10 C310.20,112.88 311.55,124.84 312.00,127.79 L312.00,150.00 L28.00,150.00 Z" fill="#00aeff" fill-opacity="0.25" stroke="none"/>
<path d="M28.00,150.00 C28.45,150.00 29.80,150.00 30.70,150.00 C31.61,150.00 32.51,150.00 33.41,150.00 C34.31,150.00 35.21,150.01 36.11,150.00 C37.02,149.99 37.92,150.13 38.82,149.95 C39.72,149.76 40.62,148.89 41.52,148.90 C42.43,148.91 43.33,149.82 44.23,150.00 C45.13,150.18 46.03,150.03 46.93,150.00 C47.83,149.97 48.74,149.97 49.64,149.79 C50.54,149.61 51.44,148.99 52.34,148.95 C53.24,148.91 54.15,149.35 55.05,149.53 C55.95,149.70 56.85,149.93 57.75,150.00 C58.65,150.07 59.56,149.95 60.46,149.95 C61.36,149.95 62.26,149.99 63.16,150.00 C64.06,150.01 64.97,150.00 65.87,150.00 C66.77,150.00 67.67,150.00 68.57,150.00 C69.47,150.00 70.37,150.00 71.28,150.00 C72.18,150.00 73.08,150.01 73.98,150.00 C74.88,149.99 75.78,150.08 76.69,149.95 C77.59,149.82 78.49,149.20 79.39,149.21 C80.29,149.22 81.19,149.87 82.10,150.00 C83.00,150.13 83.90,150.03 84.80,150.00 C85.70,149.97 86.60,149.84 87.50,149.84 C88.41,149.84 89.31,149.97 90.21,150.00 C91.11,150.03 92.01,150.00 92.91,150.00 C93.82,150.00 94.72,150.05 95.62,150.00 C96.52,149.95 97.42,149.69 98.32,149.69 C99.23,149.69 100.13,149.97 101.03,150.00 C101.93,150.03 102.83,149.95 103.73,149.90 C104.63,149.84 105.54,149.68 106.44,149.69 C107.34,149.69 108.24,150.12 109.14,149.95 C110.04,149.77 110.95,148.63 111.85,148.63 C112.75,148.63 113.65,149.89 114.55,149.95 C115.45,150.00 116.36,148.95 117.26,148.95 C118.16,148.95 119.06,149.77 119.96,149.95 C120.86,150.12 121.77,149.99 122.67,150.00 C123.57,150.01 124.47,150.05 125.37,150.00 C126.27,149.95 127.17,149.80 128.08,149.69 C128.98,149.57 129.88,149.33 130.78,149.32 C131.68,149.31 132.58,149.52 133.49,149.63 C134.39,149.75 135.29,149.94 136.19,150.00 C137.09,150.06 137.99,150.00 138.90,150.00 C139.80,150.00 140.70,150.03 141.60,150.00 C142.50,149.97 143.40,149.89 144.30,149.79 C145.21,149.69 146.11,149.46 147.01,149.42 C147.91,149.39 148.81,149.48 149.71,149.58 C150.62,149.68 151.52,149.94 152.42,150.00 C153.32,150.06 154.22,149.98 155.12,149.95 C156.03,149.91 156.93,149.86 157.83,149.79 C158.73,149.72 159.63,149.59 160.53,149.53 C161.43,149.47 162.34,149.41 163.24,149.42 C164.14,149.43 165.04,149.48 165.94,149.58 C166.84,149.68 167.75,150.11 168.65,150.00 C169.55,149.89 170.45,149.14 171.35,148.95 C172.25,148.76 173.16,148.68 174.06,148.84 C174.96,149.01 175.86,149.92 176.76,149.95 C177.66,149.97 178.57,149.36 179.47,149.00 C180.37,148.64 181.27,148.36 182.17,147.79 C183.07,147.23 183.97,146.16 184.88,145.59 C185.78,145.02 186.68,143.65 187.58,144.38 C188.48,145.12 189.38,149.33 190.29,150.00 C191.19,150.67 192.09,148.74 192.99,148.43 C193.89,148.11 194.79,148.03 195.70,148.11 C196.60,148.19 197.50,149.06 198.40,148.90 C199.30,148.73 200.20,147.24 201.10,147.11 C202.01,146.99 202.91,147.80 203.81,148.16 C204.71,148.52 205.61,149.45 206.51,149.26 C207.42,149.08 208.32,148.48 209.22,147.06 C210.12,145.64 211.02,140.82 211.92,140.76 C212.83,140.70 213.73,145.26 214.63,146.69 C215.53,148.13 216.43,149.02 217.33,149.37 C218.23,149.72 219.14,148.70 220.04,148.79 C220.94,148.89 221.84,149.75 222.74,149.95 C223.64,150.15 224.55,150.24 225.45,150.00 C226.35,149.76 227.25,149.80 228.15,148.53 C229.05,147.26 229.96,142.87 230.86,142.39 C231.76,141.91 232.66,144.51 233.56,145.64 C234.46,146.77 235.37,148.50 236.27,149.16 C237.17,149.82 238.07,149.86 238.97,149.63 C239.87,149.41 240.77,148.17 241.68,147.79 C242.58,147.42 243.48,147.53 244.38,147.38 C245.28,147.22 246.18,146.57 247.09,146.85 C247.99,147.13 248.89,148.75 249.79,149.06 C250.69,149.36 251.59,148.65 252.50,148.69 C253.40,148.72 254.30,150.03 255.20,149.26 C256.10,148.49 257.00,145.09 257.90,144.07 C258.81,143.04 259.71,143.47 260.61,143.12 C261.51,142.77 262.41,142.48 263.31,141.97 C264.22,141.45 265.12,139.37 266.02,140.03 C266.92,140.68 267.82,144.86 268.72,145.91 C269.63,146.95 270.53,146.56 271.43,146.32 C272.33,146.09 273.23,144.44 274.13,144.49 C275.03,144.53 275.94,146.96 276.84,146.59 C277.74,146.22 278.64,144.73 279.54,142.28 C280.44,139.83 281.35,132.50 282.25,131.89 C283.15,131.27 284.05,135.94 284.95,138.61 C285.85,141.28 286.76,147.71 287.66,147.90 C288.56,148.09 289.46,144.62 290.36,139.76 C291.26,134.91 292.17,132.47 293.07,118.76 C293.97,105.05 294.87,64.85 295.77,57.50 C296.67,50.14 297.57,64.62 298.48,74.61 C299.38,84.60 300.28,113.99 301.18,117.45 C302.08,120.91 302.98,96.41 303.89,95.35 C304.79,94.29 305.69,108.64 306.59,111.10 C307.49,113.56 308.39,107.32 309.30,110.10 C310.20,112.88 311.55,124.84 312.00,127.79" fill="none" stroke="#00aeff" stroke-width="2"/>
<text x="170" y="184" font-size="11" fill="#2dde98" text-anchor="middle">mm/yy</text>
</svg>

After

Width:  |  Height:  |  Size: 12 KiB

+30
View File
@@ -0,0 +1,30 @@
<svg xmlns="http://www.w3.org/2000/svg" width="340" height="200" viewBox="0 0 340 200" font-family="'Segoe UI', Ubuntu, Sans-Serif">
<rect x="0.5" y="0.5" width="339" height="199" rx="6" fill="#050f2c" stroke="#000000" stroke-opacity="0.00"/>
<text x="20" y="30" font-size="15" font-weight="600" fill="#00aeff">Contributions by Year</text>
<line x1="35" y1="45" x2="35" y2="155" stroke="#2dde98"/>
<line x1="31" y1="155" x2="35" y2="155" stroke="#2dde98"/>
<text x="29" y="158" font-size="10" fill="#2dde98" text-anchor="end">0</text>
<line x1="31" y1="128" x2="35" y2="128" stroke="#2dde98"/>
<text x="29" y="131" font-size="10" fill="#2dde98" text-anchor="end">2k</text>
<line x1="31" y1="100" x2="35" y2="100" stroke="#2dde98"/>
<text x="29" y="103" font-size="10" fill="#2dde98" text-anchor="end">4k</text>
<line x1="31" y1="73" x2="35" y2="73" stroke="#2dde98"/>
<text x="29" y="76" font-size="10" fill="#2dde98" text-anchor="end">6k</text>
<line x1="31" y1="45" x2="35" y2="45" stroke="#2dde98"/>
<text x="29" y="48" font-size="10" fill="#2dde98" text-anchor="end">8k</text>
<line x1="35" y1="155" x2="325" y2="155" stroke="#2dde98"/>
<rect x="35.00" y="154.24" width="30.44" height="0.76" rx="2" fill="#0266a0"><title>2018 — 55 commits</title></rect>
<text x="50.22" y="169" font-size="10" fill="#2dde98" text-anchor="middle">2018</text>
<rect x="67.44" y="154.72" width="30.44" height="0.28" rx="2" fill="#0266a0"><title>2019 — 20 commits</title></rect>
<rect x="99.89" y="154.13" width="30.44" height="0.87" rx="2" fill="#0266a0"><title>2020 — 63 commits</title></rect>
<text x="115.11" y="169" font-size="10" fill="#2dde98" text-anchor="middle">2020</text>
<rect x="132.33" y="154.31" width="30.44" height="0.69" rx="2" fill="#0266a0"><title>2021 — 50 commits</title></rect>
<rect x="164.78" y="150.50" width="30.44" height="4.50" rx="2" fill="#0266a0"><title>2022 — 327 commits</title></rect>
<text x="180.00" y="169" font-size="10" fill="#2dde98" text-anchor="middle">2022</text>
<rect x="197.22" y="147.84" width="30.44" height="7.16" rx="2" fill="#0266a0"><title>2023 — 521 commits</title></rect>
<rect x="229.67" y="148.47" width="30.44" height="6.53" rx="2" fill="#0266a0"><title>2024 — 475 commits</title></rect>
<text x="244.89" y="169" font-size="10" fill="#2dde98" text-anchor="middle">2024</text>
<rect x="262.11" y="132.62" width="30.44" height="22.39" rx="2" fill="#0266a0"><title>2025 — 1628 commits</title></rect>
<rect x="294.56" y="50.32" width="30.44" height="104.68" rx="2" fill="#00aeff"><title>2026 — 7613 commits</title></rect>
<text x="309.78" y="169" font-size="10" fill="#2dde98" text-anchor="middle">2026</text>
</svg>

After

Width:  |  Height:  |  Size: 2.7 KiB

+391
View File
@@ -0,0 +1,391 @@
<svg xmlns="http://www.w3.org/2000/svg" width="340" height="200" viewBox="0 0 340 200" font-family="'Segoe UI', Ubuntu, Sans-Serif">
<rect x="0.5" y="0.5" width="339" height="199" rx="6" fill="#050f2c" stroke="#000000" stroke-opacity="0.00"/>
<text x="20" y="30" font-size="15" font-weight="600" fill="#00aeff">Contributions (last year)</text>
<text x="26" y="61" font-size="10" fill="#2dde98" text-anchor="end">Tue</text>
<text x="26" y="79" font-size="10" fill="#2dde98" text-anchor="end">Thu</text>
<text x="26" y="97" font-size="10" fill="#2dde98" text-anchor="end">Sat</text>
<text x="39" y="41" font-size="10" fill="#2dde98">Oct</text>
<text x="75" y="41" font-size="10" fill="#2dde98">Nov</text>
<text x="111" y="41" font-size="10" fill="#2dde98">Dec</text>
<text x="156" y="41" font-size="10" fill="#2dde98">Jan</text>
<text x="192" y="41" font-size="10" fill="#2dde98">Feb</text>
<text x="228" y="41" font-size="10" fill="#2dde98">Mar</text>
<rect x="30" y="99" width="8" height="8" rx="1.5" fill="#033660"><title>2025-10-05 — 14</title></rect>
<rect x="39" y="45" width="8" height="8" rx="1.5" fill="#033660"><title>2025-10-06 — 4</title></rect>
<rect x="39" y="54" width="8" height="8" rx="1.5" fill="#033660"><title>2025-10-07 — 14</title></rect>
<rect x="39" y="63" width="8" height="8" rx="1.5" fill="#033660"><title>2025-10-08 — 14</title></rect>
<rect x="39" y="72" width="8" height="8" rx="1.5" fill="#050f2c"><title>2025-10-09 — 0</title></rect>
<rect x="39" y="81" width="8" height="8" rx="1.5" fill="#050f2c"><title>2025-10-10 — 0</title></rect>
<rect x="39" y="90" width="8" height="8" rx="1.5" fill="#033660"><title>2025-10-11 — 15</title></rect>
<rect x="39" y="99" width="8" height="8" rx="1.5" fill="#033660"><title>2025-10-12 — 3</title></rect>
<rect x="48" y="45" width="8" height="8" rx="1.5" fill="#033660"><title>2025-10-13 — 2</title></rect>
<rect x="48" y="54" width="8" height="8" rx="1.5" fill="#050f2c"><title>2025-10-14 — 0</title></rect>
<rect x="48" y="63" width="8" height="8" rx="1.5" fill="#050f2c"><title>2025-10-15 — 0</title></rect>
<rect x="48" y="72" width="8" height="8" rx="1.5" fill="#050f2c"><title>2025-10-16 — 0</title></rect>
<rect x="48" y="81" width="8" height="8" rx="1.5" fill="#050f2c"><title>2025-10-17 — 0</title></rect>
<rect x="48" y="90" width="8" height="8" rx="1.5" fill="#050f2c"><title>2025-10-18 — 0</title></rect>
<rect x="48" y="99" width="8" height="8" rx="1.5" fill="#033660"><title>2025-10-19 — 6</title></rect>
<rect x="57" y="45" width="8" height="8" rx="1.5" fill="#033660"><title>2025-10-20 — 5</title></rect>
<rect x="57" y="54" width="8" height="8" rx="1.5" fill="#033660"><title>2025-10-21 — 4</title></rect>
<rect x="57" y="63" width="8" height="8" rx="1.5" fill="#033660"><title>2025-10-22 — 5</title></rect>
<rect x="57" y="72" width="8" height="8" rx="1.5" fill="#033660"><title>2025-10-23 — 2</title></rect>
<rect x="57" y="81" width="8" height="8" rx="1.5" fill="#050f2c"><title>2025-10-24 — 0</title></rect>
<rect x="57" y="90" width="8" height="8" rx="1.5" fill="#033660"><title>2025-10-25 — 29</title></rect>
<rect x="57" y="99" width="8" height="8" rx="1.5" fill="#033660"><title>2025-10-26 — 4</title></rect>
<rect x="66" y="45" width="8" height="8" rx="1.5" fill="#050f2c"><title>2025-10-27 — 0</title></rect>
<rect x="66" y="54" width="8" height="8" rx="1.5" fill="#033660"><title>2025-10-28 — 1</title></rect>
<rect x="66" y="63" width="8" height="8" rx="1.5" fill="#033660"><title>2025-10-29 — 2</title></rect>
<rect x="66" y="72" width="8" height="8" rx="1.5" fill="#033660"><title>2025-10-30 — 1</title></rect>
<rect x="66" y="81" width="8" height="8" rx="1.5" fill="#050f2c"><title>2025-10-31 — 0</title></rect>
<rect x="66" y="90" width="8" height="8" rx="1.5" fill="#050f2c"><title>2025-11-01 — 0</title></rect>
<rect x="66" y="99" width="8" height="8" rx="1.5" fill="#050f2c"><title>2025-11-02 — 0</title></rect>
<rect x="75" y="45" width="8" height="8" rx="1.5" fill="#050f2c"><title>2025-11-03 — 0</title></rect>
<rect x="75" y="54" width="8" height="8" rx="1.5" fill="#033660"><title>2025-11-04 — 5</title></rect>
<rect x="75" y="63" width="8" height="8" rx="1.5" fill="#033660"><title>2025-11-05 — 9</title></rect>
<rect x="75" y="72" width="8" height="8" rx="1.5" fill="#033660"><title>2025-11-06 — 9</title></rect>
<rect x="75" y="81" width="8" height="8" rx="1.5" fill="#033660"><title>2025-11-07 — 38</title></rect>
<rect x="75" y="90" width="8" height="8" rx="1.5" fill="#033660"><title>2025-11-08 — 20</title></rect>
<rect x="75" y="99" width="8" height="8" rx="1.5" fill="#033660"><title>2025-11-09 — 8</title></rect>
<rect x="84" y="45" width="8" height="8" rx="1.5" fill="#033660"><title>2025-11-10 — 8</title></rect>
<rect x="84" y="54" width="8" height="8" rx="1.5" fill="#033660"><title>2025-11-11 — 9</title></rect>
<rect x="84" y="63" width="8" height="8" rx="1.5" fill="#033660"><title>2025-11-12 — 4</title></rect>
<rect x="84" y="72" width="8" height="8" rx="1.5" fill="#033660"><title>2025-11-13 — 24</title></rect>
<rect x="84" y="81" width="8" height="8" rx="1.5" fill="#033660"><title>2025-11-14 — 52</title></rect>
<rect x="84" y="90" width="8" height="8" rx="1.5" fill="#033660"><title>2025-11-15 — 17</title></rect>
<rect x="84" y="99" width="8" height="8" rx="1.5" fill="#050f2c"><title>2025-11-16 — 0</title></rect>
<rect x="93" y="45" width="8" height="8" rx="1.5" fill="#033660"><title>2025-11-17 — 2</title></rect>
<rect x="93" y="54" width="8" height="8" rx="1.5" fill="#033660"><title>2025-11-18 — 4</title></rect>
<rect x="93" y="63" width="8" height="8" rx="1.5" fill="#033660"><title>2025-11-19 — 14</title></rect>
<rect x="93" y="72" width="8" height="8" rx="1.5" fill="#033660"><title>2025-11-20 — 3</title></rect>
<rect x="93" y="81" width="8" height="8" rx="1.5" fill="#050f2c"><title>2025-11-21 — 0</title></rect>
<rect x="93" y="90" width="8" height="8" rx="1.5" fill="#033660"><title>2025-11-22 — 3</title></rect>
<rect x="93" y="99" width="8" height="8" rx="1.5" fill="#033660"><title>2025-11-23 — 1</title></rect>
<rect x="102" y="45" width="8" height="8" rx="1.5" fill="#033660"><title>2025-11-24 — 8</title></rect>
<rect x="102" y="54" width="8" height="8" rx="1.5" fill="#033660"><title>2025-11-25 — 2</title></rect>
<rect x="102" y="63" width="8" height="8" rx="1.5" fill="#033660"><title>2025-11-26 — 14</title></rect>
<rect x="102" y="72" width="8" height="8" rx="1.5" fill="#033660"><title>2025-11-27 — 32</title></rect>
<rect x="102" y="81" width="8" height="8" rx="1.5" fill="#033660"><title>2025-11-28 — 21</title></rect>
<rect x="102" y="90" width="8" height="8" rx="1.5" fill="#033660"><title>2025-11-29 — 24</title></rect>
<rect x="102" y="99" width="8" height="8" rx="1.5" fill="#033660"><title>2025-11-30 — 14</title></rect>
<rect x="111" y="45" width="8" height="8" rx="1.5" fill="#033660"><title>2025-12-01 — 8</title></rect>
<rect x="111" y="54" width="8" height="8" rx="1.5" fill="#033660"><title>2025-12-02 — 5</title></rect>
<rect x="111" y="63" width="8" height="8" rx="1.5" fill="#033660"><title>2025-12-03 — 17</title></rect>
<rect x="111" y="72" width="8" height="8" rx="1.5" fill="#033660"><title>2025-12-04 — 25</title></rect>
<rect x="111" y="81" width="8" height="8" rx="1.5" fill="#033660"><title>2025-12-05 — 4</title></rect>
<rect x="111" y="90" width="8" height="8" rx="1.5" fill="#033660"><title>2025-12-06 — 30</title></rect>
<rect x="111" y="99" width="8" height="8" rx="1.5" fill="#033660"><title>2025-12-07 — 5</title></rect>
<rect x="120" y="45" width="8" height="8" rx="1.5" fill="#033660"><title>2025-12-08 — 5</title></rect>
<rect x="120" y="54" width="8" height="8" rx="1.5" fill="#033660"><title>2025-12-09 — 5</title></rect>
<rect x="120" y="63" width="8" height="8" rx="1.5" fill="#033660"><title>2025-12-10 — 7</title></rect>
<rect x="120" y="72" width="8" height="8" rx="1.5" fill="#033660"><title>2025-12-11 — 14</title></rect>
<rect x="120" y="81" width="8" height="8" rx="1.5" fill="#033660"><title>2025-12-12 — 2</title></rect>
<rect x="120" y="90" width="8" height="8" rx="1.5" fill="#033660"><title>2025-12-13 — 2</title></rect>
<rect x="120" y="99" width="8" height="8" rx="1.5" fill="#033660"><title>2025-12-14 — 2</title></rect>
<rect x="129" y="45" width="8" height="8" rx="1.5" fill="#033660"><title>2025-12-15 — 16</title></rect>
<rect x="129" y="54" width="8" height="8" rx="1.5" fill="#033660"><title>2025-12-16 — 6</title></rect>
<rect x="129" y="63" width="8" height="8" rx="1.5" fill="#050f2c"><title>2025-12-17 — 0</title></rect>
<rect x="129" y="72" width="8" height="8" rx="1.5" fill="#050f2c"><title>2025-12-18 — 0</title></rect>
<rect x="129" y="81" width="8" height="8" rx="1.5" fill="#050f2c"><title>2025-12-19 — 0</title></rect>
<rect x="129" y="90" width="8" height="8" rx="1.5" fill="#033660"><title>2025-12-20 — 2</title></rect>
<rect x="129" y="99" width="8" height="8" rx="1.5" fill="#033660"><title>2025-12-21 — 36</title></rect>
<rect x="138" y="45" width="8" height="8" rx="1.5" fill="#050f2c"><title>2025-12-22 — 0</title></rect>
<rect x="138" y="54" width="8" height="8" rx="1.5" fill="#033660"><title>2025-12-23 — 2</title></rect>
<rect x="138" y="63" width="8" height="8" rx="1.5" fill="#050f2c"><title>2025-12-24 — 0</title></rect>
<rect x="138" y="72" width="8" height="8" rx="1.5" fill="#050f2c"><title>2025-12-25 — 0</title></rect>
<rect x="138" y="81" width="8" height="8" rx="1.5" fill="#050f2c"><title>2025-12-26 — 0</title></rect>
<rect x="138" y="90" width="8" height="8" rx="1.5" fill="#033660"><title>2025-12-27 — 2</title></rect>
<rect x="138" y="99" width="8" height="8" rx="1.5" fill="#033660"><title>2025-12-28 — 4</title></rect>
<rect x="147" y="45" width="8" height="8" rx="1.5" fill="#050f2c"><title>2025-12-29 — 0</title></rect>
<rect x="147" y="54" width="8" height="8" rx="1.5" fill="#033660"><title>2025-12-30 — 18</title></rect>
<rect x="147" y="63" width="8" height="8" rx="1.5" fill="#050f2c"><title>2025-12-31 — 0</title></rect>
<rect x="147" y="72" width="8" height="8" rx="1.5" fill="#050f2c"><title>2026-01-01 — 0</title></rect>
<rect x="147" y="81" width="8" height="8" rx="1.5" fill="#050f2c"><title>2026-01-02 — 0</title></rect>
<rect x="147" y="90" width="8" height="8" rx="1.5" fill="#050f2c"><title>2026-01-03 — 0</title></rect>
<rect x="147" y="99" width="8" height="8" rx="1.5" fill="#050f2c"><title>2026-01-04 — 0</title></rect>
<rect x="156" y="45" width="8" height="8" rx="1.5" fill="#033660"><title>2026-01-05 — 2</title></rect>
<rect x="156" y="54" width="8" height="8" rx="1.5" fill="#050f2c"><title>2026-01-06 — 0</title></rect>
<rect x="156" y="63" width="8" height="8" rx="1.5" fill="#050f2c"><title>2026-01-07 — 0</title></rect>
<rect x="156" y="72" width="8" height="8" rx="1.5" fill="#050f2c"><title>2026-01-08 — 0</title></rect>
<rect x="156" y="81" width="8" height="8" rx="1.5" fill="#033660"><title>2026-01-09 — 9</title></rect>
<rect x="156" y="90" width="8" height="8" rx="1.5" fill="#050f2c"><title>2026-01-10 — 0</title></rect>
<rect x="156" y="99" width="8" height="8" rx="1.5" fill="#050f2c"><title>2026-01-11 — 0</title></rect>
<rect x="165" y="45" width="8" height="8" rx="1.5" fill="#033660"><title>2026-01-12 — 1</title></rect>
<rect x="165" y="54" width="8" height="8" rx="1.5" fill="#050f2c"><title>2026-01-13 — 0</title></rect>
<rect x="165" y="63" width="8" height="8" rx="1.5" fill="#050f2c"><title>2026-01-14 — 0</title></rect>
<rect x="165" y="72" width="8" height="8" rx="1.5" fill="#050f2c"><title>2026-01-15 — 0</title></rect>
<rect x="165" y="81" width="8" height="8" rx="1.5" fill="#033660"><title>2026-01-16 — 1</title></rect>
<rect x="165" y="90" width="8" height="8" rx="1.5" fill="#050f2c"><title>2026-01-17 — 0</title></rect>
<rect x="165" y="99" width="8" height="8" rx="1.5" fill="#033660"><title>2026-01-18 — 4</title></rect>
<rect x="174" y="45" width="8" height="8" rx="1.5" fill="#033660"><title>2026-01-19 — 4</title></rect>
<rect x="174" y="54" width="8" height="8" rx="1.5" fill="#050f2c"><title>2026-01-20 — 0</title></rect>
<rect x="174" y="63" width="8" height="8" rx="1.5" fill="#050f2c"><title>2026-01-21 — 0</title></rect>
<rect x="174" y="72" width="8" height="8" rx="1.5" fill="#033660"><title>2026-01-22 — 6</title></rect>
<rect x="174" y="81" width="8" height="8" rx="1.5" fill="#050f2c"><title>2026-01-23 — 0</title></rect>
<rect x="174" y="90" width="8" height="8" rx="1.5" fill="#033660"><title>2026-01-24 — 2</title></rect>
<rect x="174" y="99" width="8" height="8" rx="1.5" fill="#050f2c"><title>2026-01-25 — 0</title></rect>
<rect x="183" y="45" width="8" height="8" rx="1.5" fill="#033660"><title>2026-01-26 — 1</title></rect>
<rect x="183" y="54" width="8" height="8" rx="1.5" fill="#050f2c"><title>2026-01-27 — 0</title></rect>
<rect x="183" y="63" width="8" height="8" rx="1.5" fill="#050f2c"><title>2026-01-28 — 0</title></rect>
<rect x="183" y="72" width="8" height="8" rx="1.5" fill="#050f2c"><title>2026-01-29 — 0</title></rect>
<rect x="183" y="81" width="8" height="8" rx="1.5" fill="#033660"><title>2026-01-30 — 10</title></rect>
<rect x="183" y="90" width="8" height="8" rx="1.5" fill="#050f2c"><title>2026-01-31 — 0</title></rect>
<rect x="183" y="99" width="8" height="8" rx="1.5" fill="#033660"><title>2026-02-01 — 2</title></rect>
<rect x="192" y="45" width="8" height="8" rx="1.5" fill="#033660"><title>2026-02-02 — 2</title></rect>
<rect x="192" y="54" width="8" height="8" rx="1.5" fill="#033660"><title>2026-02-03 — 2</title></rect>
<rect x="192" y="63" width="8" height="8" rx="1.5" fill="#033660"><title>2026-02-04 — 1</title></rect>
<rect x="192" y="72" width="8" height="8" rx="1.5" fill="#033660"><title>2026-02-05 — 9</title></rect>
<rect x="192" y="81" width="8" height="8" rx="1.5" fill="#050f2c"><title>2026-02-06 — 0</title></rect>
<rect x="192" y="90" width="8" height="8" rx="1.5" fill="#050f2c"><title>2026-02-07 — 0</title></rect>
<rect x="192" y="99" width="8" height="8" rx="1.5" fill="#050f2c"><title>2026-02-08 — 0</title></rect>
<rect x="201" y="45" width="8" height="8" rx="1.5" fill="#050f2c"><title>2026-02-09 — 0</title></rect>
<rect x="201" y="54" width="8" height="8" rx="1.5" fill="#050f2c"><title>2026-02-10 — 0</title></rect>
<rect x="201" y="63" width="8" height="8" rx="1.5" fill="#033660"><title>2026-02-11 — 1</title></rect>
<rect x="201" y="72" width="8" height="8" rx="1.5" fill="#050f2c"><title>2026-02-12 — 0</title></rect>
<rect x="201" y="81" width="8" height="8" rx="1.5" fill="#050f2c"><title>2026-02-13 — 0</title></rect>
<rect x="201" y="90" width="8" height="8" rx="1.5" fill="#033660"><title>2026-02-14 — 2</title></rect>
<rect x="201" y="99" width="8" height="8" rx="1.5" fill="#050f2c"><title>2026-02-15 — 0</title></rect>
<rect x="210" y="45" width="8" height="8" rx="1.5" fill="#050f2c"><title>2026-02-16 — 0</title></rect>
<rect x="210" y="54" width="8" height="8" rx="1.5" fill="#050f2c"><title>2026-02-17 — 0</title></rect>
<rect x="210" y="63" width="8" height="8" rx="1.5" fill="#033660"><title>2026-02-18 — 2</title></rect>
<rect x="210" y="72" width="8" height="8" rx="1.5" fill="#033660"><title>2026-02-19 — 2</title></rect>
<rect x="210" y="81" width="8" height="8" rx="1.5" fill="#033660"><title>2026-02-20 — 49</title></rect>
<rect x="210" y="90" width="8" height="8" rx="1.5" fill="#050f2c"><title>2026-02-21 — 0</title></rect>
<rect x="210" y="99" width="8" height="8" rx="1.5" fill="#050f2c"><title>2026-02-22 — 0</title></rect>
<rect x="219" y="45" width="8" height="8" rx="1.5" fill="#050f2c"><title>2026-02-23 — 0</title></rect>
<rect x="219" y="54" width="8" height="8" rx="1.5" fill="#033660"><title>2026-02-24 — 2</title></rect>
<rect x="219" y="63" width="8" height="8" rx="1.5" fill="#033660"><title>2026-02-25 — 38</title></rect>
<rect x="219" y="72" width="8" height="8" rx="1.5" fill="#033660"><title>2026-02-26 — 18</title></rect>
<rect x="219" y="81" width="8" height="8" rx="1.5" fill="#025e95"><title>2026-02-27 — 63</title></rect>
<rect x="219" y="90" width="8" height="8" rx="1.5" fill="#033660"><title>2026-02-28 — 2</title></rect>
<rect x="219" y="99" width="8" height="8" rx="1.5" fill="#033660"><title>2026-03-01 — 2</title></rect>
<rect x="228" y="45" width="8" height="8" rx="1.5" fill="#033660"><title>2026-03-02 — 2</title></rect>
<rect x="228" y="54" width="8" height="8" rx="1.5" fill="#033660"><title>2026-03-03 — 39</title></rect>
<rect x="228" y="63" width="8" height="8" rx="1.5" fill="#033660"><title>2026-03-04 — 24</title></rect>
<rect x="228" y="72" width="8" height="8" rx="1.5" fill="#033660"><title>2026-03-05 — 10</title></rect>
<rect x="228" y="81" width="8" height="8" rx="1.5" fill="#033660"><title>2026-03-06 — 12</title></rect>
<rect x="228" y="90" width="8" height="8" rx="1.5" fill="#033660"><title>2026-03-07 — 43</title></rect>
<rect x="228" y="99" width="8" height="8" rx="1.5" fill="#033660"><title>2026-03-08 — 45</title></rect>
<rect x="237" y="45" width="8" height="8" rx="1.5" fill="#033660"><title>2026-03-09 — 30</title></rect>
<rect x="237" y="54" width="8" height="8" rx="1.5" fill="#025e95"><title>2026-03-10 — 66</title></rect>
<rect x="237" y="63" width="8" height="8" rx="1.5" fill="#0186ca"><title>2026-03-11 — 150</title></rect>
<rect x="237" y="72" width="8" height="8" rx="1.5" fill="#033660"><title>2026-03-12 — 50</title></rect>
<rect x="237" y="81" width="8" height="8" rx="1.5" fill="#033660"><title>2026-03-13 — 4</title></rect>
<rect x="237" y="90" width="8" height="8" rx="1.5" fill="#033660"><title>2026-03-14 — 2</title></rect>
<rect x="237" y="99" width="8" height="8" rx="1.5" fill="#050f2c"><title>2026-03-15 — 0</title></rect>
<rect x="246" y="45" width="8" height="8" rx="1.5" fill="#033660"><title>2026-03-16 — 3</title></rect>
<rect x="246" y="54" width="8" height="8" rx="1.5" fill="#033660"><title>2026-03-17 — 20</title></rect>
<rect x="246" y="63" width="8" height="8" rx="1.5" fill="#033660"><title>2026-03-18 — 10</title></rect>
<rect x="246" y="72" width="8" height="8" rx="1.5" fill="#050f2c"><title>2026-03-19 — 0</title></rect>
<rect x="246" y="81" width="8" height="8" rx="1.5" fill="#033660"><title>2026-03-20 — 2</title></rect>
<rect x="246" y="90" width="8" height="8" rx="1.5" fill="#050f2c"><title>2026-03-21 — 0</title></rect>
<rect x="246" y="99" width="8" height="8" rx="1.5" fill="#050f2c"><title>2026-03-22 — 0</title></rect>
<rect x="255" y="45" width="8" height="8" rx="1.5" fill="#033660"><title>2026-03-23 — 2</title></rect>
<rect x="255" y="54" width="8" height="8" rx="1.5" fill="#033660"><title>2026-03-24 — 4</title></rect>
<rect x="255" y="63" width="8" height="8" rx="1.5" fill="#033660"><title>2026-03-25 — 26</title></rect>
<rect x="255" y="72" width="8" height="8" rx="1.5" fill="#050f2c"><title>2026-03-26 — 0</title></rect>
<rect x="255" y="81" width="8" height="8" rx="1.5" fill="#050f2c"><title>2026-03-27 — 0</title></rect>
<rect x="255" y="90" width="8" height="8" rx="1.5" fill="#033660"><title>2026-03-28 — 2</title></rect>
<rect x="255" y="99" width="8" height="8" rx="1.5" fill="#050f2c"><title>2026-03-29 — 0</title></rect>
<rect x="264" y="45" width="8" height="8" rx="1.5" fill="#033660"><title>2026-03-30 — 24</title></rect>
<rect x="264" y="54" width="8" height="8" rx="1.5" fill="#033660"><title>2026-03-31 — 23</title></rect>
<rect x="264" y="63" width="8" height="8" rx="1.5" fill="#033660"><title>2026-04-01 — 17</title></rect>
<rect x="264" y="72" width="8" height="8" rx="1.5" fill="#033660"><title>2026-04-02 — 8</title></rect>
<rect x="264" y="81" width="8" height="8" rx="1.5" fill="#033660"><title>2026-04-03 — 22</title></rect>
<rect x="264" y="90" width="8" height="8" rx="1.5" fill="#025e95"><title>2026-04-04 — 76</title></rect>
<rect x="264" y="99" width="8" height="8" rx="1.5" fill="#025e95"><title>2026-04-05 — 76</title></rect>
<text x="26" y="136" font-size="10" fill="#2dde98" text-anchor="end">Tue</text>
<text x="26" y="154" font-size="10" fill="#2dde98" text-anchor="end">Thu</text>
<text x="26" y="172" font-size="10" fill="#2dde98" text-anchor="end">Sat</text>
<text x="30" y="116" font-size="10" fill="#2dde98">Apr</text>
<text x="66" y="116" font-size="10" fill="#2dde98">May</text>
<text x="102" y="116" font-size="10" fill="#2dde98">Jun</text>
<text x="147" y="116" font-size="10" fill="#2dde98">Jul</text>
<text x="183" y="116" font-size="10" fill="#2dde98">Aug</text>
<text x="228" y="116" font-size="10" fill="#2dde98">Sep</text>
<text x="264" y="116" font-size="10" fill="#2dde98">Oct</text>
<rect x="30" y="120" width="8" height="8" rx="1.5" fill="#033660"><title>2026-04-06 — 55</title></rect>
<rect x="30" y="129" width="8" height="8" rx="1.5" fill="#025e95"><title>2026-04-07 — 72</title></rect>
<rect x="30" y="138" width="8" height="8" rx="1.5" fill="#033660"><title>2026-04-08 — 14</title></rect>
<rect x="30" y="147" width="8" height="8" rx="1.5" fill="#033660"><title>2026-04-09 — 25</title></rect>
<rect x="30" y="156" width="8" height="8" rx="1.5" fill="#033660"><title>2026-04-10 — 2</title></rect>
<rect x="30" y="165" width="8" height="8" rx="1.5" fill="#025e95"><title>2026-04-11 — 60</title></rect>
<rect x="30" y="174" width="8" height="8" rx="1.5" fill="#025e95"><title>2026-04-12 — 84</title></rect>
<rect x="39" y="120" width="8" height="8" rx="1.5" fill="#025e95"><title>2026-04-13 — 82</title></rect>
<rect x="39" y="129" width="8" height="8" rx="1.5" fill="#025e95"><title>2026-04-14 — 94</title></rect>
<rect x="39" y="138" width="8" height="8" rx="1.5" fill="#033660"><title>2026-04-15 — 14</title></rect>
<rect x="39" y="147" width="8" height="8" rx="1.5" fill="#033660"><title>2026-04-16 — 29</title></rect>
<rect x="39" y="156" width="8" height="8" rx="1.5" fill="#033660"><title>2026-04-17 — 19</title></rect>
<rect x="39" y="165" width="8" height="8" rx="1.5" fill="#00aeff"><title>2026-04-18 — 195</title></rect>
<rect x="39" y="174" width="8" height="8" rx="1.5" fill="#025e95"><title>2026-04-19 — 111</title></rect>
<rect x="48" y="120" width="8" height="8" rx="1.5" fill="#033660"><title>2026-04-20 — 46</title></rect>
<rect x="48" y="129" width="8" height="8" rx="1.5" fill="#025e95"><title>2026-04-21 — 84</title></rect>
<rect x="48" y="138" width="8" height="8" rx="1.5" fill="#025e95"><title>2026-04-22 — 72</title></rect>
<rect x="48" y="147" width="8" height="8" rx="1.5" fill="#033660"><title>2026-04-23 — 30</title></rect>
<rect x="48" y="156" width="8" height="8" rx="1.5" fill="#033660"><title>2026-04-24 — 50</title></rect>
<rect x="48" y="165" width="8" height="8" rx="1.5" fill="#033660"><title>2026-04-25 — 43</title></rect>
<rect x="48" y="174" width="8" height="8" rx="1.5" fill="#025e95"><title>2026-04-26 — 101</title></rect>
<rect x="57" y="120" width="8" height="8" rx="1.5" fill="#025e95"><title>2026-04-27 — 105</title></rect>
<rect x="57" y="129" width="8" height="8" rx="1.5" fill="#033660"><title>2026-04-28 — 45</title></rect>
<rect x="57" y="138" width="8" height="8" rx="1.5" fill="#025e95"><title>2026-04-29 — 78</title></rect>
<rect x="57" y="147" width="8" height="8" rx="1.5" fill="#033660"><title>2026-04-30 — 53</title></rect>
<rect x="57" y="156" width="8" height="8" rx="1.5" fill="#033660"><title>2026-05-01 — 13</title></rect>
<rect x="57" y="165" width="8" height="8" rx="1.5" fill="#033660"><title>2026-05-02 — 2</title></rect>
<rect x="57" y="174" width="8" height="8" rx="1.5" fill="#033660"><title>2026-05-03 — 25</title></rect>
<rect x="66" y="120" width="8" height="8" rx="1.5" fill="#033660"><title>2026-05-04 — 2</title></rect>
<rect x="66" y="129" width="8" height="8" rx="1.5" fill="#033660"><title>2026-05-05 — 30</title></rect>
<rect x="66" y="138" width="8" height="8" rx="1.5" fill="#033660"><title>2026-05-06 — 5</title></rect>
<rect x="66" y="147" width="8" height="8" rx="1.5" fill="#033660"><title>2026-05-07 — 44</title></rect>
<rect x="66" y="156" width="8" height="8" rx="1.5" fill="#033660"><title>2026-05-08 — 43</title></rect>
<rect x="66" y="165" width="8" height="8" rx="1.5" fill="#00aeff"><title>2026-05-09 — 228</title></rect>
<rect x="66" y="174" width="8" height="8" rx="1.5" fill="#0186ca"><title>2026-05-10 — 133</title></rect>
<rect x="75" y="120" width="8" height="8" rx="1.5" fill="#00aeff"><title>2026-05-11 — 181</title></rect>
<rect x="75" y="129" width="8" height="8" rx="1.5" fill="#033660"><title>2026-05-12 — 1</title></rect>
<rect x="75" y="138" width="8" height="8" rx="1.5" fill="#0186ca"><title>2026-05-13 — 136</title></rect>
<rect x="75" y="147" width="8" height="8" rx="1.5" fill="#033660"><title>2026-05-14 — 17</title></rect>
<rect x="75" y="156" width="8" height="8" rx="1.5" fill="#033660"><title>2026-05-15 — 46</title></rect>
<rect x="75" y="165" width="8" height="8" rx="1.5" fill="#025e95"><title>2026-05-16 — 74</title></rect>
<rect x="75" y="174" width="8" height="8" rx="1.5" fill="#033660"><title>2026-05-17 — 29</title></rect>
<rect x="84" y="120" width="8" height="8" rx="1.5" fill="#033660"><title>2026-05-18 — 56</title></rect>
<rect x="84" y="129" width="8" height="8" rx="1.5" fill="#033660"><title>2026-05-19 — 10</title></rect>
<rect x="84" y="138" width="8" height="8" rx="1.5" fill="#033660"><title>2026-05-20 — 8</title></rect>
<rect x="84" y="147" width="8" height="8" rx="1.5" fill="#033660"><title>2026-05-21 — 6</title></rect>
<rect x="84" y="156" width="8" height="8" rx="1.5" fill="#025e95"><title>2026-05-22 — 69</title></rect>
<rect x="84" y="165" width="8" height="8" rx="1.5" fill="#0186ca"><title>2026-05-23 — 166</title></rect>
<rect x="84" y="174" width="8" height="8" rx="1.5" fill="#033660"><title>2026-05-24 — 24</title></rect>
<rect x="93" y="120" width="8" height="8" rx="1.5" fill="#033660"><title>2026-05-25 — 30</title></rect>
<rect x="93" y="129" width="8" height="8" rx="1.5" fill="#033660"><title>2026-05-26 — 2</title></rect>
<rect x="93" y="138" width="8" height="8" rx="1.5" fill="#033660"><title>2026-05-27 — 8</title></rect>
<rect x="93" y="147" width="8" height="8" rx="1.5" fill="#033660"><title>2026-05-28 — 19</title></rect>
<rect x="93" y="156" width="8" height="8" rx="1.5" fill="#033660"><title>2026-05-29 — 5</title></rect>
<rect x="93" y="165" width="8" height="8" rx="1.5" fill="#033660"><title>2026-05-30 — 21</title></rect>
<rect x="93" y="174" width="8" height="8" rx="1.5" fill="#033660"><title>2026-05-31 — 3</title></rect>
<rect x="102" y="120" width="8" height="8" rx="1.5" fill="#033660"><title>2026-06-01 — 26</title></rect>
<rect x="102" y="129" width="8" height="8" rx="1.5" fill="#033660"><title>2026-06-02 — 12</title></rect>
<rect x="102" y="138" width="8" height="8" rx="1.5" fill="#033660"><title>2026-06-03 — 8</title></rect>
<rect x="102" y="147" width="8" height="8" rx="1.5" fill="#033660"><title>2026-06-04 — 45</title></rect>
<rect x="102" y="156" width="8" height="8" rx="1.5" fill="#033660"><title>2026-06-05 — 33</title></rect>
<rect x="102" y="165" width="8" height="8" rx="1.5" fill="#033660"><title>2026-06-06 — 3</title></rect>
<rect x="102" y="174" width="8" height="8" rx="1.5" fill="#033660"><title>2026-06-07 — 3</title></rect>
<rect x="111" y="120" width="8" height="8" rx="1.5" fill="#033660"><title>2026-06-08 — 16</title></rect>
<rect x="111" y="129" width="8" height="8" rx="1.5" fill="#033660"><title>2026-06-09 — 8</title></rect>
<rect x="111" y="138" width="8" height="8" rx="1.5" fill="#033660"><title>2026-06-10 — 18</title></rect>
<rect x="111" y="147" width="8" height="8" rx="1.5" fill="#025e95"><title>2026-06-11 — 60</title></rect>
<rect x="111" y="156" width="8" height="8" rx="1.5" fill="#033660"><title>2026-06-12 — 32</title></rect>
<rect x="111" y="165" width="8" height="8" rx="1.5" fill="#033660"><title>2026-06-13 — 8</title></rect>
<rect x="111" y="174" width="8" height="8" rx="1.5" fill="#033660"><title>2026-06-14 — 8</title></rect>
<rect x="120" y="120" width="8" height="8" rx="1.5" fill="#033660"><title>2026-06-15 — 33</title></rect>
<rect x="120" y="129" width="8" height="8" rx="1.5" fill="#033660"><title>2026-06-16 — 4</title></rect>
<rect x="120" y="138" width="8" height="8" rx="1.5" fill="#033660"><title>2026-06-17 — 12</title></rect>
<rect x="120" y="147" width="8" height="8" rx="1.5" fill="#033660"><title>2026-06-18 — 2</title></rect>
<rect x="120" y="156" width="8" height="8" rx="1.5" fill="#033660"><title>2026-06-19 — 9</title></rect>
<rect x="120" y="165" width="8" height="8" rx="1.5" fill="#033660"><title>2026-06-20 — 9</title></rect>
<rect x="120" y="174" width="8" height="8" rx="1.5" fill="#033660"><title>2026-06-21 — 10</title></rect>
<rect x="129" y="120" width="8" height="8" rx="1.5" fill="#033660"><title>2026-06-22 — 5</title></rect>
<rect x="129" y="129" width="8" height="8" rx="1.5" fill="#033660"><title>2026-06-23 — 4</title></rect>
<rect x="129" y="138" width="8" height="8" rx="1.5" fill="#033660"><title>2026-06-24 — 8</title></rect>
<rect x="129" y="147" width="8" height="8" rx="1.5" fill="#033660"><title>2026-06-25 — 32</title></rect>
<rect x="129" y="156" width="8" height="8" rx="1.5" fill="#033660"><title>2026-06-26 — 12</title></rect>
<rect x="129" y="165" width="8" height="8" rx="1.5" fill="#033660"><title>2026-06-27 — 19</title></rect>
<rect x="129" y="174" width="8" height="8" rx="1.5" fill="#0186ca"><title>2026-06-28 — 130</title></rect>
<rect x="138" y="120" width="8" height="8" rx="1.5" fill="#033660"><title>2026-06-29 — 40</title></rect>
<rect x="138" y="129" width="8" height="8" rx="1.5" fill="#033660"><title>2026-06-30 — 11</title></rect>
<rect x="138" y="138" width="8" height="8" rx="1.5" fill="#025e95"><title>2026-07-01 — 61</title></rect>
<rect x="138" y="147" width="8" height="8" rx="1.5" fill="#033660"><title>2026-07-02 — 15</title></rect>
<rect x="138" y="156" width="8" height="8" rx="1.5" fill="#033660"><title>2026-07-03 — 37</title></rect>
<rect x="138" y="165" width="8" height="8" rx="1.5" fill="#033660"><title>2026-07-04 — 9</title></rect>
<rect x="138" y="174" width="8" height="8" rx="1.5" fill="#033660"><title>2026-07-05 — 6</title></rect>
<rect x="147" y="120" width="8" height="8" rx="1.5" fill="#025e95"><title>2026-07-06 — 90</title></rect>
<rect x="147" y="129" width="8" height="8" rx="1.5" fill="#033660"><title>2026-07-07 — 35</title></rect>
<rect x="147" y="138" width="8" height="8" rx="1.5" fill="#033660"><title>2026-07-08 — 6</title></rect>
<rect x="147" y="147" width="8" height="8" rx="1.5" fill="#033660"><title>2026-07-09 — 35</title></rect>
<rect x="147" y="156" width="8" height="8" rx="1.5" fill="#033660"><title>2026-07-10 — 8</title></rect>
<rect x="147" y="165" width="8" height="8" rx="1.5" fill="#033660"><title>2026-07-11 — 6</title></rect>
<rect x="147" y="174" width="8" height="8" rx="1.5" fill="#033660"><title>2026-07-12 — 3</title></rect>
<rect x="156" y="120" width="8" height="8" rx="1.5" fill="#033660"><title>2026-07-13 — 3</title></rect>
<rect x="156" y="129" width="8" height="8" rx="1.5" fill="#033660"><title>2026-07-14 — 32</title></rect>
<rect x="156" y="138" width="8" height="8" rx="1.5" fill="#033660"><title>2026-07-15 — 17</title></rect>
<rect x="156" y="147" width="8" height="8" rx="1.5" fill="#033660"><title>2026-07-16 — 17</title></rect>
<rect x="156" y="156" width="8" height="8" rx="1.5" fill="#025e95"><title>2026-07-17 — 98</title></rect>
<rect x="156" y="165" width="8" height="8" rx="1.5" fill="#033660"><title>2026-07-18 — 42</title></rect>
<rect x="156" y="174" width="8" height="8" rx="1.5" fill="#033660"><title>2026-07-19 — 14</title></rect>
<rect x="165" y="120" width="8" height="8" rx="1.5" fill="#033660"><title>2026-07-20 — 28</title></rect>
<rect x="165" y="129" width="8" height="8" rx="1.5" fill="#0186ca"><title>2026-07-21 — 125</title></rect>
<rect x="165" y="138" width="8" height="8" rx="1.5" fill="#033660"><title>2026-07-22 — 39</title></rect>
<rect x="165" y="147" width="8" height="8" rx="1.5" fill="#033660"><title>2026-07-23 — 35</title></rect>
<rect x="165" y="156" width="8" height="8" rx="1.5" fill="#033660"><title>2026-07-24 — 14</title></rect>
<rect x="165" y="165" width="8" height="8" rx="1.5" fill="#00aeff"><title>2026-07-25 — 176</title></rect>
<rect x="165" y="174" width="8" height="8" rx="1.5" fill="#033660"><title>2026-07-26 — 44</title></rect>
<rect x="174" y="120" width="8" height="8" rx="1.5" fill="#033660"><title>2026-07-27 — 2</title></rect>
<rect x="174" y="129" width="8" height="8" rx="1.5" fill="#033660"><title>2026-07-28 — 2</title></rect>
<rect x="174" y="138" width="8" height="8" rx="1.5" fill="#033660"><title>2026-07-29 — 23</title></rect>
<rect x="174" y="147" width="8" height="8" rx="1.5" fill="#033660"><title>2026-07-30 — 17</title></rect>
<rect x="174" y="156" width="8" height="8" rx="1.5" fill="#033660"><title>2026-07-31 — 2</title></rect>
<rect x="174" y="165" width="8" height="8" rx="1.5" fill="#033660"><title>2026-08-01 — 12</title></rect>
<rect x="174" y="174" width="8" height="8" rx="1.5" fill="#033660"><title>2026-08-02 — 1</title></rect>
<rect x="183" y="120" width="8" height="8" rx="1.5" fill="#033660"><title>2026-08-03 — 13</title></rect>
<rect x="183" y="129" width="8" height="8" rx="1.5" fill="#033660"><title>2026-08-04 — 30</title></rect>
<rect x="183" y="138" width="8" height="8" rx="1.5" fill="#033660"><title>2026-08-05 — 25</title></rect>
<rect x="183" y="147" width="8" height="8" rx="1.5" fill="#033660"><title>2026-08-06 — 19</title></rect>
<rect x="183" y="156" width="8" height="8" rx="1.5" fill="#033660"><title>2026-08-07 — 13</title></rect>
<rect x="183" y="165" width="8" height="8" rx="1.5" fill="#033660"><title>2026-08-08 — 34</title></rect>
<rect x="183" y="174" width="8" height="8" rx="1.5" fill="#033660"><title>2026-08-09 — 18</title></rect>
<rect x="192" y="120" width="8" height="8" rx="1.5" fill="#033660"><title>2026-08-10 — 14</title></rect>
<rect x="192" y="129" width="8" height="8" rx="1.5" fill="#033660"><title>2026-08-11 — 11</title></rect>
<rect x="192" y="138" width="8" height="8" rx="1.5" fill="#033660"><title>2026-08-12 — 14</title></rect>
<rect x="192" y="147" width="8" height="8" rx="1.5" fill="#033660"><title>2026-08-13 — 42</title></rect>
<rect x="192" y="156" width="8" height="8" rx="1.5" fill="#033660"><title>2026-08-14 — 56</title></rect>
<rect x="192" y="165" width="8" height="8" rx="1.5" fill="#033660"><title>2026-08-15 — 2</title></rect>
<rect x="192" y="174" width="8" height="8" rx="1.5" fill="#033660"><title>2026-08-16 — 6</title></rect>
<rect x="201" y="120" width="8" height="8" rx="1.5" fill="#025e95"><title>2026-08-17 — 93</title></rect>
<rect x="201" y="129" width="8" height="8" rx="1.5" fill="#0186ca"><title>2026-08-18 — 122</title></rect>
<rect x="201" y="138" width="8" height="8" rx="1.5" fill="#033660"><title>2026-08-19 — 18</title></rect>
<rect x="201" y="147" width="8" height="8" rx="1.5" fill="#033660"><title>2026-08-20 — 11</title></rect>
<rect x="201" y="156" width="8" height="8" rx="1.5" fill="#033660"><title>2026-08-21 — 1</title></rect>
<rect x="201" y="165" width="8" height="8" rx="1.5" fill="#033660"><title>2026-08-22 — 4</title></rect>
<rect x="201" y="174" width="8" height="8" rx="1.5" fill="#033660"><title>2026-08-23 — 1</title></rect>
<rect x="210" y="120" width="8" height="8" rx="1.5" fill="#033660"><title>2026-08-24 — 8</title></rect>
<rect x="210" y="129" width="8" height="8" rx="1.5" fill="#033660"><title>2026-08-25 — 47</title></rect>
<rect x="210" y="138" width="8" height="8" rx="1.5" fill="#033660"><title>2026-08-26 — 2</title></rect>
<rect x="210" y="147" width="8" height="8" rx="1.5" fill="#033660"><title>2026-08-27 — 15</title></rect>
<rect x="210" y="156" width="8" height="8" rx="1.5" fill="#033660"><title>2026-08-28 — 18</title></rect>
<rect x="210" y="165" width="8" height="8" rx="1.5" fill="#033660"><title>2026-08-29 — 8</title></rect>
<rect x="210" y="174" width="8" height="8" rx="1.5" fill="#033660"><title>2026-08-30 — 36</title></rect>
<rect x="219" y="120" width="8" height="8" rx="1.5" fill="#033660"><title>2026-08-31 — 47</title></rect>
<rect x="219" y="129" width="8" height="8" rx="1.5" fill="#033660"><title>2026-09-01 — 38</title></rect>
<rect x="219" y="138" width="8" height="8" rx="1.5" fill="#033660"><title>2026-09-02 — 14</title></rect>
<rect x="219" y="147" width="8" height="8" rx="1.5" fill="#033660"><title>2026-09-03 — 13</title></rect>
<rect x="219" y="156" width="8" height="8" rx="1.5" fill="#033660"><title>2026-09-04 — 27</title></rect>
<rect x="219" y="165" width="8" height="8" rx="1.5" fill="#033660"><title>2026-09-05 — 12</title></rect>
<rect x="219" y="174" width="8" height="8" rx="1.5" fill="#025e95"><title>2026-09-06 — 75</title></rect>
<rect x="228" y="120" width="8" height="8" rx="1.5" fill="#033660"><title>2026-09-07 — 12</title></rect>
<rect x="228" y="129" width="8" height="8" rx="1.5" fill="#033660"><title>2026-09-08 — 32</title></rect>
<rect x="228" y="138" width="8" height="8" rx="1.5" fill="#033660"><title>2026-09-09 — 22</title></rect>
<rect x="228" y="147" width="8" height="8" rx="1.5" fill="#033660"><title>2026-09-10 — 16</title></rect>
<rect x="228" y="156" width="8" height="8" rx="1.5" fill="#033660"><title>2026-09-11 — 22</title></rect>
<rect x="228" y="165" width="8" height="8" rx="1.5" fill="#033660"><title>2026-09-12 — 2</title></rect>
<rect x="228" y="174" width="8" height="8" rx="1.5" fill="#033660"><title>2026-09-13 — 4</title></rect>
<rect x="237" y="120" width="8" height="8" rx="1.5" fill="#033660"><title>2026-09-14 — 2</title></rect>
<rect x="237" y="129" width="8" height="8" rx="1.5" fill="#033660"><title>2026-09-15 — 14</title></rect>
<rect x="237" y="138" width="8" height="8" rx="1.5" fill="#033660"><title>2026-09-16 — 40</title></rect>
<rect x="237" y="147" width="8" height="8" rx="1.5" fill="#033660"><title>2026-09-17 — 11</title></rect>
<rect x="237" y="156" width="8" height="8" rx="1.5" fill="#033660"><title>2026-09-18 — 51</title></rect>
<rect x="237" y="165" width="8" height="8" rx="1.5" fill="#033660"><title>2026-09-19 — 15</title></rect>
<rect x="237" y="174" width="8" height="8" rx="1.5" fill="#033660"><title>2026-09-20 — 18</title></rect>
<rect x="246" y="120" width="8" height="8" rx="1.5" fill="#025e95"><title>2026-09-21 — 107</title></rect>
<rect x="246" y="129" width="8" height="8" rx="1.5" fill="#050f2c"><title>2026-09-22 — 0</title></rect>
<rect x="246" y="138" width="8" height="8" rx="1.5" fill="#050f2c"><title>2026-09-23 — 0</title></rect>
<rect x="246" y="147" width="8" height="8" rx="1.5" fill="#050f2c"><title>2026-09-24 — 0</title></rect>
<rect x="246" y="156" width="8" height="8" rx="1.5" fill="#050f2c"><title>2026-09-25 — 0</title></rect>
<rect x="246" y="165" width="8" height="8" rx="1.5" fill="#050f2c"><title>2026-09-26 — 0</title></rect>
<rect x="246" y="174" width="8" height="8" rx="1.5" fill="#033660"><title>2026-09-27 — 6</title></rect>
<rect x="255" y="120" width="8" height="8" rx="1.5" fill="#033660"><title>2026-09-28 — 41</title></rect>
<rect x="255" y="129" width="8" height="8" rx="1.5" fill="#033660"><title>2026-09-29 — 54</title></rect>
<rect x="255" y="138" width="8" height="8" rx="1.5" fill="#025e95"><title>2026-09-30 — 112</title></rect>
<rect x="255" y="147" width="8" height="8" rx="1.5" fill="#025e95"><title>2026-10-01 — 93</title></rect>
<rect x="255" y="156" width="8" height="8" rx="1.5" fill="#033660"><title>2026-10-02 — 36</title></rect>
<rect x="255" y="165" width="8" height="8" rx="1.5" fill="#025e95"><title>2026-10-03 — 111</title></rect>
<rect x="255" y="174" width="8" height="8" rx="1.5" fill="#025e95"><title>2026-10-04 — 78</title></rect>
<rect x="264" y="120" width="8" height="8" rx="1.5" fill="#033660"><title>2026-10-05 — 26</title></rect>
<rect x="264" y="129" width="8" height="8" rx="1.5" fill="#033660"><title>2026-10-06 — 35</title></rect>
<rect x="264" y="138" width="8" height="8" rx="1.5" fill="#033660"><title>2026-10-07 — 44</title></rect>
</svg>

After

Width:  |  Height:  |  Size: 40 KiB

+44
View File
@@ -0,0 +1,44 @@
<svg xmlns="http://www.w3.org/2000/svg" width="340" height="200" viewBox="0 0 340 200" font-family="'Segoe UI', Ubuntu, Sans-Serif">
<rect x="0.5" y="0.5" width="339" height="199" rx="6" fill="#050f2c" stroke="#000000" stroke-opacity="0.00"/>
<text x="20" y="30" font-size="15" font-weight="600" fill="#00aeff">Contributions (last year)</text>
<line x1="28" y1="45" x2="28" y2="150" stroke="#2dde98"/>
<line x1="312" y1="45" x2="312" y2="150" stroke="#2dde98"/>
<line x1="24" y1="150" x2="28" y2="150" stroke="#2dde98"/>
<text x="22" y="153" font-size="10" fill="#2dde98" text-anchor="end">0</text>
<line x1="312" y1="150" x2="316" y2="150" stroke="#2dde98"/>
<text x="318" y="153" font-size="10" fill="#2dde98" text-anchor="start">0</text>
<line x1="24" y1="124" x2="28" y2="124" stroke="#2dde98"/>
<text x="22" y="127" font-size="10" fill="#2dde98" text-anchor="end">500</text>
<line x1="312" y1="124" x2="316" y2="124" stroke="#2dde98"/>
<text x="318" y="127" font-size="10" fill="#2dde98" text-anchor="start">500</text>
<line x1="24" y1="98" x2="28" y2="98" stroke="#2dde98"/>
<text x="22" y="101" font-size="10" fill="#2dde98" text-anchor="end">1k</text>
<line x1="312" y1="98" x2="316" y2="98" stroke="#2dde98"/>
<text x="318" y="101" font-size="10" fill="#2dde98" text-anchor="start">1k</text>
<line x1="24" y1="72" x2="28" y2="72" stroke="#2dde98"/>
<text x="22" y="75" font-size="10" fill="#2dde98" text-anchor="end">1.5k</text>
<line x1="312" y1="72" x2="316" y2="72" stroke="#2dde98"/>
<text x="318" y="75" font-size="10" fill="#2dde98" text-anchor="start">1.5k</text>
<line x1="24" y1="45" x2="28" y2="45" stroke="#2dde98"/>
<text x="22" y="48" font-size="10" fill="#2dde98" text-anchor="end">2k</text>
<line x1="312" y1="45" x2="316" y2="45" stroke="#2dde98"/>
<text x="318" y="48" font-size="10" fill="#2dde98" text-anchor="start">2k</text>
<line x1="28" y1="150" x2="312" y2="150" stroke="#2dde98"/>
<line x1="28" y1="150" x2="28" y2="154" stroke="#2dde98"/>
<text x="28" y="166" font-size="10" fill="#2dde98" text-anchor="middle">10/25</text>
<line x1="75" y1="150" x2="75" y2="154" stroke="#2dde98"/>
<text x="75" y="166" font-size="10" fill="#2dde98" text-anchor="middle">12/25</text>
<line x1="122" y1="150" x2="122" y2="154" stroke="#2dde98"/>
<text x="122" y="166" font-size="10" fill="#2dde98" text-anchor="middle">02/26</text>
<line x1="170" y1="150" x2="170" y2="154" stroke="#2dde98"/>
<text x="170" y="166" font-size="10" fill="#2dde98" text-anchor="middle">04/26</text>
<line x1="217" y1="150" x2="217" y2="154" stroke="#2dde98"/>
<text x="217" y="166" font-size="10" fill="#2dde98" text-anchor="middle">06/26</text>
<line x1="264" y1="150" x2="264" y2="154" stroke="#2dde98"/>
<text x="264" y="166" font-size="10" fill="#2dde98" text-anchor="middle">08/26</text>
<line x1="312" y1="150" x2="312" y2="154" stroke="#2dde98"/>
<text x="312" y="166" font-size="10" fill="#2dde98" text-anchor="middle">10/26</text>
<path d="M28.00,143.44 C31.94,141.51 43.78,132.69 51.67,131.89 C59.56,131.08 67.44,135.94 75.33,138.61 C83.22,141.28 91.11,147.71 99.00,147.90 C106.89,148.09 114.78,144.62 122.67,139.76 C130.56,134.91 138.44,132.47 146.33,118.76 C154.22,105.05 162.11,64.85 170.00,57.50 C177.89,50.14 185.78,64.62 193.67,74.61 C201.56,84.60 209.44,113.99 217.33,117.45 C225.22,120.91 233.11,96.41 241.00,95.35 C248.89,94.29 256.78,108.64 264.67,111.10 C272.56,113.56 280.44,107.32 288.33,110.10 C296.22,112.88 308.06,124.84 312.00,127.79 L312.00,150.00 L28.00,150.00 Z" fill="#00aeff" fill-opacity="0.25" stroke="none"/>
<path d="M28.00,143.44 C31.94,141.51 43.78,132.69 51.67,131.89 C59.56,131.08 67.44,135.94 75.33,138.61 C83.22,141.28 91.11,147.71 99.00,147.90 C106.89,148.09 114.78,144.62 122.67,139.76 C130.56,134.91 138.44,132.47 146.33,118.76 C154.22,105.05 162.11,64.85 170.00,57.50 C177.89,50.14 185.78,64.62 193.67,74.61 C201.56,84.60 209.44,113.99 217.33,117.45 C225.22,120.91 233.11,96.41 241.00,95.35 C248.89,94.29 256.78,108.64 264.67,111.10 C272.56,113.56 280.44,107.32 288.33,110.10 C296.22,112.88 308.06,124.84 312.00,127.79" fill="none" stroke="#00aeff" stroke-width="2"/>
<text x="170" y="184" font-size="11" fill="#2dde98" text-anchor="middle">mm/yy</text>
</svg>

After

Width:  |  Height:  |  Size: 4.2 KiB

@@ -0,0 +1,25 @@
<svg xmlns="http://www.w3.org/2000/svg" width="340" height="200" viewBox="0 0 340 200" font-family="'Segoe UI', Ubuntu, Sans-Serif">
<rect x="0.5" y="0.5" width="339" height="199" rx="6" fill="#050f2c" stroke="#000000" stroke-opacity="0.00"/>
<text x="20" y="30" font-size="15" font-weight="600" fill="#00aeff">Most Commit Language (all time)</text>
<rect x="20" y="47" width="10" height="10" fill="#f1e05a" stroke="#050f2c" stroke-width="1"/>
<text x="36" y="55" font-size="11" fill="#ffffff">JavaScript 34.64%</text>
<rect x="20" y="67" width="10" height="10" fill="#00ADD8" stroke="#050f2c" stroke-width="1"/>
<text x="36" y="75" font-size="11" fill="#ffffff">Go 22.80%</text>
<rect x="20" y="87" width="10" height="10" fill="#e34c26" stroke="#050f2c" stroke-width="1"/>
<text x="36" y="95" font-size="11" fill="#ffffff">HTML 9.74%</text>
<rect x="20" y="107" width="10" height="10" fill="#b07219" stroke="#050f2c" stroke-width="1"/>
<text x="36" y="115" font-size="11" fill="#ffffff">Java 6.55%</text>
<rect x="20" y="127" width="10" height="10" fill="#3572A5" stroke="#050f2c" stroke-width="1"/>
<text x="36" y="135" font-size="11" fill="#ffffff">Python 5.08%</text>
<rect x="20" y="147" width="10" height="10" fill="#89e051" stroke="#050f2c" stroke-width="1"/>
<text x="36" y="155" font-size="11" fill="#ffffff">Shell 4.09%</text>
<rect x="20" y="167" width="10" height="10" fill="#00aeff" stroke="#050f2c" stroke-width="1"/>
<text x="36" y="175" font-size="11" fill="#ffffff">Other 17.09%</text>
<path d="M250.00,55.00 A55.00,55.00 0 0 1 295.22,141.31 L274.67,127.08 A30.00,30.00 0 0 0 250.00,80.00 Z" fill="#f1e05a" stroke="#050f2c" stroke-width="1.5"/>
<path d="M295.22,141.31 A55.00,55.00 0 0 1 225.24,159.11 L236.49,136.79 A30.00,30.00 0 0 0 274.67,127.08 Z" fill="#00ADD8" stroke="#050f2c" stroke-width="1.5"/>
<path d="M225.24,159.11 A55.00,55.00 0 0 1 201.51,135.96 L223.55,124.16 A30.00,30.00 0 0 0 236.49,136.79 Z" fill="#e34c26" stroke="#050f2c" stroke-width="1.5"/>
<path d="M201.51,135.96 A55.00,55.00 0 0 1 195.17,114.38 L220.10,112.39 A30.00,30.00 0 0 0 223.55,124.16 Z" fill="#b07219" stroke="#050f2c" stroke-width="1.5"/>
<path d="M195.17,114.38 A55.00,55.00 0 0 1 196.57,96.94 L220.86,102.88 A30.00,30.00 0 0 0 220.10,112.39 Z" fill="#3572A5" stroke="#050f2c" stroke-width="1.5"/>
<path d="M196.57,96.94 A55.00,55.00 0 0 1 201.65,83.79 L223.63,95.70 A30.00,30.00 0 0 0 220.86,102.88 Z" fill="#89e051" stroke="#050f2c" stroke-width="1.5"/>
<path d="M201.65,83.79 A55.00,55.00 0 0 1 250.00,55.00 L250.00,80.00 A30.00,30.00 0 0 0 223.63,95.70 Z" fill="#00aeff" stroke="#050f2c" stroke-width="1.5"/>
</svg>

After

Width:  |  Height:  |  Size: 2.6 KiB

+25
View File
@@ -0,0 +1,25 @@
<svg xmlns="http://www.w3.org/2000/svg" width="340" height="200" viewBox="0 0 340 200" font-family="'Segoe UI', Ubuntu, Sans-Serif">
<rect x="0.5" y="0.5" width="339" height="199" rx="6" fill="#050f2c" stroke="#000000" stroke-opacity="0.00"/>
<text x="20" y="30" font-size="15" font-weight="600" fill="#00aeff">Most Commit Language (last year)</text>
<rect x="20" y="47" width="10" height="10" fill="#f1e05a" stroke="#050f2c" stroke-width="1"/>
<text x="36" y="55" font-size="11" fill="#ffffff">JavaScript 37.51%</text>
<rect x="20" y="67" width="10" height="10" fill="#00ADD8" stroke="#050f2c" stroke-width="1"/>
<text x="36" y="75" font-size="11" fill="#ffffff">Go 28.78%</text>
<rect x="20" y="87" width="10" height="10" fill="#e34c26" stroke="#050f2c" stroke-width="1"/>
<text x="36" y="95" font-size="11" fill="#ffffff">HTML 6.29%</text>
<rect x="20" y="107" width="10" height="10" fill="#3572A5" stroke="#050f2c" stroke-width="1"/>
<text x="36" y="115" font-size="11" fill="#ffffff">Python 5.54%</text>
<rect x="20" y="127" width="10" height="10" fill="#ff3e00" stroke="#050f2c" stroke-width="1"/>
<text x="36" y="135" font-size="11" fill="#ffffff">Svelte 4.01%</text>
<rect x="20" y="147" width="10" height="10" fill="#89e051" stroke="#050f2c" stroke-width="1"/>
<text x="36" y="155" font-size="11" fill="#ffffff">Shell 3.76%</text>
<rect x="20" y="167" width="10" height="10" fill="#00aeff" stroke="#050f2c" stroke-width="1"/>
<text x="36" y="175" font-size="11" fill="#ffffff">Other 14.11%</text>
<path d="M250.00,55.00 A55.00,55.00 0 0 1 288.86,148.92 L271.20,131.23 A30.00,30.00 0 0 0 250.00,80.00 Z" fill="#f1e05a" stroke="#050f2c" stroke-width="1.5"/>
<path d="M288.86,148.92 A55.00,55.00 0 0 1 203.03,138.62 L224.38,125.61 A30.00,30.00 0 0 0 271.20,131.23 Z" fill="#00ADD8" stroke="#050f2c" stroke-width="1.5"/>
<path d="M203.03,138.62 A55.00,55.00 0 0 1 195.63,118.32 L220.35,114.54 A30.00,30.00 0 0 0 224.38,125.61 Z" fill="#e34c26" stroke="#050f2c" stroke-width="1.5"/>
<path d="M195.63,118.32 A55.00,55.00 0 0 1 196.06,99.27 L220.58,104.15 A30.00,30.00 0 0 0 220.35,114.54 Z" fill="#3572A5" stroke="#050f2c" stroke-width="1.5"/>
<path d="M196.06,99.27 A55.00,55.00 0 0 1 200.43,86.17 L222.96,97.00 A30.00,30.00 0 0 0 220.58,104.15 Z" fill="#ff3e00" stroke="#050f2c" stroke-width="1.5"/>
<path d="M200.43,86.17 A55.00,55.00 0 0 1 207.37,75.24 L226.75,91.04 A30.00,30.00 0 0 0 222.96,97.00 Z" fill="#89e051" stroke="#050f2c" stroke-width="1.5"/>
<path d="M207.37,75.24 A55.00,55.00 0 0 1 250.00,55.00 L250.00,80.00 A30.00,30.00 0 0 0 226.75,91.04 Z" fill="#00aeff" stroke="#050f2c" stroke-width="1.5"/>
</svg>

After

Width:  |  Height:  |  Size: 2.6 KiB

+55
View File
@@ -0,0 +1,55 @@
<svg xmlns="http://www.w3.org/2000/svg" width="340" height="200" viewBox="0 0 340 200" font-family="'Segoe UI', Ubuntu, Sans-Serif">
<rect x="0.5" y="0.5" width="339" height="199" rx="6" fill="#050f2c" stroke="#000000" stroke-opacity="0.00"/>
<text x="20" y="30" font-size="15" font-weight="600" fill="#00aeff">Commits by Hour (all time, UTC+7)</text>
<line x1="35" y1="45" x2="35" y2="155" stroke="#2dde98"/>
<line x1="31" y1="155" x2="35" y2="155" stroke="#2dde98"/>
<text x="29" y="158" font-size="10" fill="#2dde98" text-anchor="end">0</text>
<line x1="31" y1="137" x2="35" y2="137" stroke="#2dde98"/>
<text x="29" y="140" font-size="10" fill="#2dde98" text-anchor="end">100</text>
<line x1="31" y1="119" x2="35" y2="119" stroke="#2dde98"/>
<text x="29" y="122" font-size="10" fill="#2dde98" text-anchor="end">200</text>
<line x1="31" y1="100" x2="35" y2="100" stroke="#2dde98"/>
<text x="29" y="103" font-size="10" fill="#2dde98" text-anchor="end">300</text>
<line x1="31" y1="82" x2="35" y2="82" stroke="#2dde98"/>
<text x="29" y="85" font-size="10" fill="#2dde98" text-anchor="end">400</text>
<line x1="31" y1="64" x2="35" y2="64" stroke="#2dde98"/>
<text x="29" y="67" font-size="10" fill="#2dde98" text-anchor="end">500</text>
<line x1="31" y1="45" x2="35" y2="45" stroke="#2dde98"/>
<text x="29" y="48" font-size="10" fill="#2dde98" text-anchor="end">600</text>
<line x1="35" y1="155" x2="325" y2="155" stroke="#2dde98"/>
<line x1="40" y1="155" x2="40" y2="159" stroke="#2dde98"/>
<text x="40" y="171" font-size="10" fill="#2dde98" text-anchor="middle">0</text>
<line x1="113" y1="155" x2="113" y2="159" stroke="#2dde98"/>
<text x="113" y="171" font-size="10" fill="#2dde98" text-anchor="middle">6</text>
<line x1="186" y1="155" x2="186" y2="159" stroke="#2dde98"/>
<text x="186" y="171" font-size="10" fill="#2dde98" text-anchor="middle">12</text>
<line x1="258" y1="155" x2="258" y2="159" stroke="#2dde98"/>
<text x="258" y="171" font-size="10" fill="#2dde98" text-anchor="middle">18</text>
<line x1="319" y1="155" x2="319" y2="159" stroke="#2dde98"/>
<text x="319" y="171" font-size="10" fill="#2dde98" text-anchor="middle">23</text>
<rect x="35.00" y="101.28" width="11.12" height="53.72" rx="2" fill="#00aeff"><title>00:00 — 293 commits</title></rect>
<rect x="47.12" y="136.30" width="11.12" height="18.70" rx="2" fill="#00aeff"><title>01:00 — 102 commits</title></rect>
<rect x="59.25" y="145.10" width="11.12" height="9.90" rx="2" fill="#00aeff"><title>02:00 — 54 commits</title></rect>
<rect x="71.38" y="149.87" width="11.12" height="5.13" rx="2" fill="#00aeff"><title>03:00 — 28 commits</title></rect>
<rect x="83.50" y="153.35" width="11.12" height="1.65" rx="2" fill="#00aeff"><title>04:00 — 9 commits</title></rect>
<rect x="95.62" y="153.90" width="11.12" height="1.10" rx="2" fill="#00aeff"><title>05:00 — 6 commits</title></rect>
<rect x="107.75" y="152.80" width="11.12" height="2.20" rx="2" fill="#00aeff"><title>06:00 — 12 commits</title></rect>
<rect x="119.88" y="151.15" width="11.12" height="3.85" rx="2" fill="#00aeff"><title>07:00 — 21 commits</title></rect>
<rect x="132.00" y="135.20" width="11.12" height="19.80" rx="2" fill="#00aeff"><title>08:00 — 108 commits</title></rect>
<rect x="144.12" y="85.15" width="11.12" height="69.85" rx="2" fill="#00aeff"><title>09:00 — 381 commits</title></rect>
<rect x="156.25" y="68.83" width="11.12" height="86.17" rx="2" fill="#00aeff"><title>10:00 — 470 commits</title></rect>
<rect x="168.38" y="74.88" width="11.12" height="80.12" rx="2" fill="#00aeff"><title>11:00 — 437 commits</title></rect>
<rect x="180.50" y="104.40" width="11.12" height="50.60" rx="2" fill="#00aeff"><title>12:00 — 276 commits</title></rect>
<rect x="192.62" y="87.72" width="11.12" height="67.28" rx="2" fill="#00aeff"><title>13:00 — 367 commits</title></rect>
<rect x="204.75" y="86.80" width="11.12" height="68.20" rx="2" fill="#00aeff"><title>14:00 — 372 commits</title></rect>
<rect x="216.88" y="95.23" width="11.12" height="59.77" rx="2" fill="#00aeff"><title>15:00 — 326 commits</title></rect>
<rect x="229.00" y="80.02" width="11.12" height="74.98" rx="2" fill="#00aeff"><title>16:00 — 409 commits</title></rect>
<rect x="241.12" y="83.50" width="11.12" height="71.50" rx="2" fill="#00aeff"><title>17:00 — 390 commits</title></rect>
<rect x="253.25" y="105.32" width="11.12" height="49.68" rx="2" fill="#00aeff"><title>18:00 — 271 commits</title></rect>
<rect x="265.38" y="115.95" width="11.12" height="39.05" rx="2" fill="#00aeff"><title>19:00 — 213 commits</title></rect>
<rect x="277.50" y="65.72" width="11.12" height="89.28" rx="2" fill="#00aeff"><title>20:00 — 487 commits</title></rect>
<rect x="289.62" y="46.28" width="11.12" height="108.72" rx="2" fill="#00aeff"><title>21:00 — 593 commits</title></rect>
<rect x="301.75" y="60.77" width="11.12" height="94.23" rx="2" fill="#00aeff"><title>22:00 — 514 commits</title></rect>
<rect x="313.88" y="69.93" width="11.12" height="85.07" rx="2" fill="#00aeff"><title>23:00 — 464 commits</title></rect>
<text x="180" y="189" font-size="11" fill="#2dde98" text-anchor="middle">hour of day</text>
</svg>

After

Width:  |  Height:  |  Size: 5.1 KiB

+51
View File
@@ -0,0 +1,51 @@
<svg xmlns="http://www.w3.org/2000/svg" width="340" height="200" viewBox="0 0 340 200" font-family="'Segoe UI', Ubuntu, Sans-Serif">
<rect x="0.5" y="0.5" width="339" height="199" rx="6" fill="#050f2c" stroke="#000000" stroke-opacity="0.00"/>
<text x="20" y="30" font-size="15" font-weight="600" fill="#00aeff">Commits by Hour (last year, UTC+7)</text>
<line x1="35" y1="45" x2="35" y2="155" stroke="#2dde98"/>
<line x1="31" y1="155" x2="35" y2="155" stroke="#2dde98"/>
<text x="29" y="158" font-size="10" fill="#2dde98" text-anchor="end">0</text>
<line x1="31" y1="128" x2="35" y2="128" stroke="#2dde98"/>
<text x="29" y="131" font-size="10" fill="#2dde98" text-anchor="end">100</text>
<line x1="31" y1="100" x2="35" y2="100" stroke="#2dde98"/>
<text x="29" y="103" font-size="10" fill="#2dde98" text-anchor="end">200</text>
<line x1="31" y1="73" x2="35" y2="73" stroke="#2dde98"/>
<text x="29" y="76" font-size="10" fill="#2dde98" text-anchor="end">300</text>
<line x1="31" y1="45" x2="35" y2="45" stroke="#2dde98"/>
<text x="29" y="48" font-size="10" fill="#2dde98" text-anchor="end">400</text>
<line x1="35" y1="155" x2="325" y2="155" stroke="#2dde98"/>
<line x1="40" y1="155" x2="40" y2="159" stroke="#2dde98"/>
<text x="40" y="171" font-size="10" fill="#2dde98" text-anchor="middle">0</text>
<line x1="113" y1="155" x2="113" y2="159" stroke="#2dde98"/>
<text x="113" y="171" font-size="10" fill="#2dde98" text-anchor="middle">6</text>
<line x1="186" y1="155" x2="186" y2="159" stroke="#2dde98"/>
<text x="186" y="171" font-size="10" fill="#2dde98" text-anchor="middle">12</text>
<line x1="258" y1="155" x2="258" y2="159" stroke="#2dde98"/>
<text x="258" y="171" font-size="10" fill="#2dde98" text-anchor="middle">18</text>
<line x1="319" y1="155" x2="319" y2="159" stroke="#2dde98"/>
<text x="319" y="171" font-size="10" fill="#2dde98" text-anchor="middle">23</text>
<rect x="35.00" y="102.47" width="11.12" height="52.52" rx="2" fill="#00aeff"><title>00:00 — 191 commits</title></rect>
<rect x="47.12" y="137.40" width="11.12" height="17.60" rx="2" fill="#00aeff"><title>01:00 — 64 commits</title></rect>
<rect x="59.25" y="143.18" width="11.12" height="11.82" rx="2" fill="#00aeff"><title>02:00 — 43 commits</title></rect>
<rect x="71.38" y="149.22" width="11.12" height="5.78" rx="2" fill="#00aeff"><title>03:00 — 21 commits</title></rect>
<rect x="83.50" y="155.00" width="11.12" height="0.00" rx="2" fill="#00aeff"><title>04:00 — 0 commits</title></rect>
<rect x="95.62" y="155.00" width="11.12" height="0.00" rx="2" fill="#00aeff"><title>05:00 — 0 commits</title></rect>
<rect x="107.75" y="154.45" width="11.12" height="0.55" rx="2" fill="#00aeff"><title>06:00 — 2 commits</title></rect>
<rect x="119.88" y="153.07" width="11.12" height="1.93" rx="2" fill="#00aeff"><title>07:00 — 7 commits</title></rect>
<rect x="132.00" y="132.18" width="11.12" height="22.82" rx="2" fill="#00aeff"><title>08:00 — 83 commits</title></rect>
<rect x="144.12" y="61.22" width="11.12" height="93.78" rx="2" fill="#00aeff"><title>09:00 — 341 commits</title></rect>
<rect x="156.25" y="48.30" width="11.12" height="106.70" rx="2" fill="#00aeff"><title>10:00 — 388 commits</title></rect>
<rect x="168.38" y="68.38" width="11.12" height="86.62" rx="2" fill="#00aeff"><title>11:00 — 315 commits</title></rect>
<rect x="180.50" y="101.65" width="11.12" height="53.35" rx="2" fill="#00aeff"><title>12:00 — 194 commits</title></rect>
<rect x="192.62" y="74.97" width="11.12" height="80.03" rx="2" fill="#00aeff"><title>13:00 — 291 commits</title></rect>
<rect x="204.75" y="78.83" width="11.12" height="76.17" rx="2" fill="#00aeff"><title>14:00 — 277 commits</title></rect>
<rect x="216.88" y="78.00" width="11.12" height="77.00" rx="2" fill="#00aeff"><title>15:00 — 280 commits</title></rect>
<rect x="229.00" y="56.28" width="11.12" height="98.72" rx="2" fill="#00aeff"><title>16:00 — 359 commits</title></rect>
<rect x="241.12" y="61.50" width="11.12" height="93.50" rx="2" fill="#00aeff"><title>17:00 — 340 commits</title></rect>
<rect x="253.25" y="103.85" width="11.12" height="51.15" rx="2" fill="#00aeff"><title>18:00 — 186 commits</title></rect>
<rect x="265.38" y="117.60" width="11.12" height="37.40" rx="2" fill="#00aeff"><title>19:00 — 136 commits</title></rect>
<rect x="277.50" y="65.62" width="11.12" height="89.38" rx="2" fill="#00aeff"><title>20:00 — 325 commits</title></rect>
<rect x="289.62" y="51.05" width="11.12" height="103.95" rx="2" fill="#00aeff"><title>21:00 — 378 commits</title></rect>
<rect x="301.75" y="58.20" width="11.12" height="96.80" rx="2" fill="#00aeff"><title>22:00 — 352 commits</title></rect>
<rect x="313.88" y="71.67" width="11.12" height="83.33" rx="2" fill="#00aeff"><title>23:00 — 303 commits</title></rect>
<text x="180" y="189" font-size="11" fill="#2dde98" text-anchor="middle">hour of day</text>
</svg>

After

Width:  |  Height:  |  Size: 4.9 KiB

@@ -0,0 +1,36 @@
<svg xmlns="http://www.w3.org/2000/svg" width="340" height="200" viewBox="0 0 340 200" font-family="'Segoe UI', Ubuntu, Sans-Serif">
<rect x="0.5" y="0.5" width="339" height="199" rx="6" fill="#050f2c" stroke="#000000" stroke-opacity="0.00"/>
<text x="20" y="30" font-size="15" font-weight="600" fill="#00aeff">Commits by Weekday (all time)</text>
<line x1="35" y1="45" x2="35" y2="155" stroke="#2dde98"/>
<line x1="31" y1="155" x2="35" y2="155" stroke="#2dde98"/>
<text x="29" y="158" font-size="10" fill="#2dde98" text-anchor="end">0</text>
<line x1="31" y1="140" x2="35" y2="140" stroke="#2dde98"/>
<text x="29" y="143" font-size="10" fill="#2dde98" text-anchor="end">200</text>
<line x1="31" y1="124" x2="35" y2="124" stroke="#2dde98"/>
<text x="29" y="127" font-size="10" fill="#2dde98" text-anchor="end">400</text>
<line x1="31" y1="108" x2="35" y2="108" stroke="#2dde98"/>
<text x="29" y="111" font-size="10" fill="#2dde98" text-anchor="end">600</text>
<line x1="31" y1="93" x2="35" y2="93" stroke="#2dde98"/>
<text x="29" y="96" font-size="10" fill="#2dde98" text-anchor="end">800</text>
<line x1="31" y1="77" x2="35" y2="77" stroke="#2dde98"/>
<text x="29" y="80" font-size="10" fill="#2dde98" text-anchor="end">1k</text>
<line x1="31" y1="61" x2="35" y2="61" stroke="#2dde98"/>
<text x="29" y="64" font-size="10" fill="#2dde98" text-anchor="end">1.2k</text>
<line x1="31" y1="45" x2="35" y2="45" stroke="#2dde98"/>
<text x="29" y="48" font-size="10" fill="#2dde98" text-anchor="end">1.4k</text>
<line x1="35" y1="155" x2="325" y2="155" stroke="#2dde98"/>
<rect x="35.00" y="75.33" width="36.29" height="79.67" rx="2" fill="#0266a0"><title>Mon — 1014 commits</title></rect>
<text x="53.14" y="169" font-size="10" fill="#2dde98" text-anchor="middle">Mon</text>
<rect x="77.29" y="84.52" width="36.29" height="70.48" rx="2" fill="#0266a0"><title>Tue — 897 commits</title></rect>
<text x="95.43" y="169" font-size="10" fill="#2dde98" text-anchor="middle">Tue</text>
<rect x="119.57" y="84.13" width="36.29" height="70.87" rx="2" fill="#0266a0"><title>Wed — 902 commits</title></rect>
<text x="137.71" y="169" font-size="10" fill="#2dde98" text-anchor="middle">Wed</text>
<rect x="161.86" y="97.96" width="36.29" height="57.04" rx="2" fill="#0266a0"><title>Thu — 726 commits</title></rect>
<text x="180.00" y="169" font-size="10" fill="#2dde98" text-anchor="middle">Thu</text>
<rect x="204.14" y="96.94" width="36.29" height="58.06" rx="2" fill="#0266a0"><title>Fri — 739 commits</title></rect>
<text x="222.29" y="169" font-size="10" fill="#2dde98" text-anchor="middle">Fri</text>
<rect x="246.43" y="53.56" width="36.29" height="101.44" rx="2" fill="#00aeff"><title>Sat — 1291 commits</title></rect>
<text x="264.57" y="169" font-size="10" fill="#2dde98" text-anchor="middle">Sat</text>
<rect x="288.71" y="73.76" width="36.29" height="81.24" rx="2" fill="#0266a0"><title>Sun — 1034 commits</title></rect>
<text x="306.86" y="169" font-size="10" fill="#2dde98" text-anchor="middle">Sun</text>
</svg>

After

Width:  |  Height:  |  Size: 3.0 KiB

+32
View File
@@ -0,0 +1,32 @@
<svg xmlns="http://www.w3.org/2000/svg" width="340" height="200" viewBox="0 0 340 200" font-family="'Segoe UI', Ubuntu, Sans-Serif">
<rect x="0.5" y="0.5" width="339" height="199" rx="6" fill="#050f2c" stroke="#000000" stroke-opacity="0.00"/>
<text x="20" y="30" font-size="15" font-weight="600" fill="#00aeff">Commits by Weekday (last year)</text>
<line x1="35" y1="45" x2="35" y2="155" stroke="#2dde98"/>
<line x1="31" y1="155" x2="35" y2="155" stroke="#2dde98"/>
<text x="29" y="158" font-size="10" fill="#2dde98" text-anchor="end">0</text>
<line x1="31" y1="133" x2="35" y2="133" stroke="#2dde98"/>
<text x="29" y="136" font-size="10" fill="#2dde98" text-anchor="end">200</text>
<line x1="31" y1="111" x2="35" y2="111" stroke="#2dde98"/>
<text x="29" y="114" font-size="10" fill="#2dde98" text-anchor="end">400</text>
<line x1="31" y1="89" x2="35" y2="89" stroke="#2dde98"/>
<text x="29" y="92" font-size="10" fill="#2dde98" text-anchor="end">600</text>
<line x1="31" y1="67" x2="35" y2="67" stroke="#2dde98"/>
<text x="29" y="70" font-size="10" fill="#2dde98" text-anchor="end">800</text>
<line x1="31" y1="45" x2="35" y2="45" stroke="#2dde98"/>
<text x="29" y="48" font-size="10" fill="#2dde98" text-anchor="end">1k</text>
<line x1="35" y1="155" x2="325" y2="155" stroke="#2dde98"/>
<rect x="35.00" y="68.43" width="36.29" height="86.57" rx="2" fill="#0266a0"><title>Mon — 787 commits</title></rect>
<text x="53.14" y="169" font-size="10" fill="#2dde98" text-anchor="middle">Mon</text>
<rect x="77.29" y="81.41" width="36.29" height="73.59" rx="2" fill="#0266a0"><title>Tue — 669 commits</title></rect>
<text x="95.43" y="169" font-size="10" fill="#2dde98" text-anchor="middle">Tue</text>
<rect x="119.57" y="74.81" width="36.29" height="80.19" rx="2" fill="#0266a0"><title>Wed — 729 commits</title></rect>
<text x="137.71" y="169" font-size="10" fill="#2dde98" text-anchor="middle">Wed</text>
<rect x="161.86" y="97.58" width="36.29" height="57.42" rx="2" fill="#0266a0"><title>Thu — 522 commits</title></rect>
<text x="180.00" y="169" font-size="10" fill="#2dde98" text-anchor="middle">Thu</text>
<rect x="204.14" y="91.31" width="36.29" height="63.69" rx="2" fill="#0266a0"><title>Fri — 579 commits</title></rect>
<text x="222.29" y="169" font-size="10" fill="#2dde98" text-anchor="middle">Fri</text>
<rect x="246.43" y="51.05" width="36.29" height="103.95" rx="2" fill="#00aeff"><title>Sat — 945 commits</title></rect>
<text x="264.57" y="169" font-size="10" fill="#2dde98" text-anchor="middle">Sat</text>
<rect x="288.71" y="84.05" width="36.29" height="70.95" rx="2" fill="#0266a0"><title>Sun — 645 commits</title></rect>
<text x="306.86" y="169" font-size="10" fill="#2dde98" text-anchor="middle">Sun</text>
</svg>

After

Width:  |  Height:  |  Size: 2.7 KiB

+16
View File
@@ -0,0 +1,16 @@
<svg xmlns="http://www.w3.org/2000/svg" width="340" height="200" viewBox="0 0 340 200" font-family="'Segoe UI', Ubuntu, Sans-Serif">
<rect x="0.5" y="0.5" width="339" height="199" rx="6" fill="#050f2c" stroke="#000000" stroke-opacity="0.00"/>
<text x="20" y="30" font-size="15" font-weight="600" fill="#00aeff">tiennm99 (Tien Nguyen Minh)</text>
<g transform="translate(20,50.00) scale(0.750)" fill="#2dde98"><path fill-rule="evenodd" d="M1.5 14.25c0 .138.112.25.25.25H4v-1.25a.75.75 0 01.75-.75h2.5a.75.75 0 01.75.75v1.25h2.25a.25.25 0 00.25-.25V1.75a.25.25 0 00-.25-.25h-8.5a.25.25 0 00-.25.25v12.5zM1.75 16A1.75 1.75 0 010 14.25V1.75C0 .784.784 0 1.75 0h8.5C11.216 0 12 .784 12 1.75v12.5c0 .085-.006.168-.018.25h2.268a.25.25 0 00.25-.25V8.285a.25.25 0 00-.111-.208l-1.055-.703a.75.75 0 11.832-1.248l1.055.703c.487.325.779.871.779 1.456v5.965A1.75 1.75 0 0114.25 16h-3.5a.75.75 0 01-.197-.026c-.099.017-.2.026-.303.026h-3a.75.75 0 01-.75-.75V14h-1v1.25a.75.75 0 01-.75.75h-3zM3 3.75A.75.75 0 013.75 3h.5a.75.75 0 010 1.5h-.5A.75.75 0 013 3.75zM3.75 6a.75.75 0 000 1.5h.5a.75.75 0 000-1.5h-.5zM3 9.75A.75.75 0 013.75 9h.5a.75.75 0 010 1.5h-.5A.75.75 0 013 9.75zM7.75 9a.75.75 0 000 1.5h.5a.75.75 0 000-1.5h-.5zM7 6.75A.75.75 0 017.75 6h.5a.75.75 0 010 1.5h-.5A.75.75 0 017 6.75zM7.75 3a.75.75 0 000 1.5h.5a.75.75 0 000-1.5h-.5z"/></g>
<text x="40" y="60" font-size="12" fill="#ffffff">VNG Corporation</text>
<g transform="translate(20,70.00) scale(0.750)" fill="#2dde98"><path fill-rule="evenodd" d="M11.536 3.464a5 5 0 010 7.072L8 14.07l-3.536-3.535a5 5 0 117.072-7.072v.001zm1.06 8.132a6.5 6.5 0 10-9.192 0l3.535 3.536a1.5 1.5 0 002.122 0l3.535-3.536zM8 9a2 2 0 100-4 2 2 0 000 4z"/></g>
<text x="40" y="80" font-size="12" fill="#ffffff">Ho Chi Minh - Viet Nam</text>
<g transform="translate(20,90.00) scale(0.750)" fill="#2dde98"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"/></g>
<text x="40" y="100" font-size="12" fill="#ffffff">miti99.com</text>
<g transform="translate(20,110.00) scale(0.750)" fill="#2dde98"><path fill-rule="evenodd" d="M1.5 8a6.5 6.5 0 1113 0 6.5 6.5 0 01-13 0zM8 0a8 8 0 100 16A8 8 0 008 0zm.5 4.75a.75.75 0 00-1.5 0v3.5a.75.75 0 00.471.696l2.5 1a.75.75 0 00.557-1.392L8.5 7.742V4.75z"/></g>
<text x="40" y="120" font-size="12" fill="#ffffff">2018-05-07 (8 years ago)</text>
<g transform="translate(20,130.00) scale(0.750)" fill="#2dde98"><path fill-rule="evenodd" d="M5.5 3.5a2 2 0 100 4 2 2 0 000-4zM2 5.5a3.5 3.5 0 115.898 2.549 5.507 5.507 0 013.034 4.084.75.75 0 11-1.482.235 4.001 4.001 0 00-7.9 0 .75.75 0 01-1.482-.236A5.507 5.507 0 013.102 8.05 3.49 3.49 0 012 5.5zM11 4a.75.75 0 100 1.5 1.5 1.5 0 01.666 2.844.75.75 0 00-.416.672v.352a.75.75 0 00.574.73c1.2.289 2.162 1.2 2.522 2.372a.75.75 0 101.434-.44 5.01 5.01 0 00-2.56-3.012A3 3 0 0011 4z"/></g>
<text x="40" y="140" font-size="12" fill="#ffffff">15 followers · 16 following</text>
<g transform="translate(20,150.00) scale(0.750)" fill="#2dde98"><path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"/></g>
<text x="40" y="160" font-size="12" fill="#ffffff">197 repos</text>
</svg>

After

Width:  |  Height:  |  Size: 3.7 KiB

+22
View File
@@ -0,0 +1,22 @@
<svg xmlns="http://www.w3.org/2000/svg" width="340" height="200" viewBox="0 0 340 200" font-family="'Segoe UI', Ubuntu, Sans-Serif">
<rect x="0.5" y="0.5" width="339" height="199" rx="6" fill="#050f2c" stroke="#000000" stroke-opacity="0.00"/>
<text x="20" y="30" font-size="15" font-weight="600" fill="#00aeff">Records (all time)</text>
<g transform="translate(20,45.00) scale(0.750)" fill="#2dde98"><path fill-rule="evenodd" d="M10.5 7.75a2.5 2.5 0 11-5 0 2.5 2.5 0 015 0zm1.43.75a4.002 4.002 0 01-7.86 0H.75a.75.75 0 110-1.5h3.32a4.001 4.001 0 017.86 0h3.32a.75.75 0 110 1.5h-3.32z"/></g>
<text x="40" y="55" font-size="12" fill="#ffffff">Best day</text>
<text x="320" y="55" font-size="12" font-weight="600" fill="#00aeff" text-anchor="end">228 on 2026-05-09</text>
<g transform="translate(20,65.00) scale(0.750)" fill="#2dde98"><path fill-rule="evenodd" d="M8 .25a.75.75 0 01.673.418l1.882 3.815 4.21.612a.75.75 0 01.416 1.279l-3.046 2.97.719 4.192a.75.75 0 01-1.088.791L8 12.347l-3.766 1.98a.75.75 0 01-1.088-.79l.72-4.194L.818 6.374a.75.75 0 01.416-1.28l4.21-.611L7.327.668A.75.75 0 018 .25zm0 2.445L6.615 5.5a.75.75 0 01-.564.41l-3.097.45 2.24 2.184a.75.75 0 01.216.664l-.528 3.084 2.769-1.456a.75.75 0 01.698 0l2.77 1.456-.53-3.084a.75.75 0 01.216-.664l2.24-2.183-3.096-.45a.75.75 0 01-.564-.41L8 2.694v.001z"/></g>
<text x="40" y="75" font-size="12" fill="#ffffff">Best month</text>
<text x="320" y="75" font-size="12" font-weight="600" fill="#00aeff" text-anchor="end">1,762 in Apr 2026</text>
<g transform="translate(20,85.00) scale(0.750)" fill="#2dde98"><path fill-rule="evenodd" d="M4.75 0a.75.75 0 01.75.75V2h5V.75a.75.75 0 011.5 0V2h1.25c.966 0 1.75.784 1.75 1.75v10.5A1.75 1.75 0 0113.25 16H2.75A1.75 1.75 0 011 14.25V3.75C1 2.784 1.784 2 2.75 2H4V.75A.75.75 0 014.75 0zm0 3.5h8.5a.25.25 0 01.25.25V6h-11V3.75a.25.25 0 01.25-.25h2zM2.5 7.5v6.75c0 .138.112.25.25.25h10.5a.25.25 0 00.25-.25V7.5h-11z"/></g>
<text x="40" y="95" font-size="12" fill="#ffffff">First contribution</text>
<text x="320" y="95" font-size="12" font-weight="600" fill="#00aeff" text-anchor="end">2018-05-08</text>
<g transform="translate(20,105.00) scale(0.750)" fill="#2dde98"><path d="M1.643 3.143L.427 1.927A.25.25 0 000 2.104V5.75c0 .138.112.25.25.25h3.646a.25.25 0 00.177-.427L2.715 4.215a6.5 6.5 0 11-1.18 4.456.75.75 0 10-1.493.154 8.001 8.001 0 101.6-5.682zM7.75 4a.75.75 0 01.75.75v2.992l2.028.812a.75.75 0 01-.557 1.392l-2.5-1A.75.75 0 017 8.25v-3.5A.75.75 0 017.75 4z"/></g>
<text x="40" y="115" font-size="12" fill="#ffffff">Active days</text>
<text x="320" y="115" font-size="12" font-weight="600" fill="#00aeff" text-anchor="end">748</text>
<g transform="translate(20,125.00) scale(0.750)" fill="#2dde98"><path fill-rule="evenodd" d="M1.5 8a6.5 6.5 0 1113 0 6.5 6.5 0 01-13 0zM8 0a8 8 0 100 16A8 8 0 008 0zm.5 4.75a.75.75 0 00-1.5 0v3.5a.75.75 0 00.471.696l2.5 1a.75.75 0 00.557-1.392L8.5 7.742V4.75z"/></g>
<text x="40" y="135" font-size="12" fill="#ffffff">On GitHub</text>
<text x="320" y="135" font-size="12" font-weight="600" fill="#00aeff" text-anchor="end">8.4 years</text>
<g transform="translate(20,145.00) scale(0.750)" fill="#2dde98"><path fill-rule="evenodd" d="M1.543 7.25h2.733c.144-2.074.866-3.756 1.58-4.948.12-.197.237-.381.353-.552a6.506 6.506 0 00-4.666 5.5zm2.733 1.5H1.543a6.506 6.506 0 004.666 5.5 11.13 11.13 0 01-.352-.552c-.715-1.192-1.437-2.874-1.581-4.948zm1.504 0h4.44a9.637 9.637 0 01-1.363 4.177c-.306.51-.612.919-.857 1.215-.245-.296-.55-.705-.857-1.215A9.638 9.638 0 015.78 8.75zM10.22 7.25H5.78a9.637 9.637 0 011.363-4.177c.306-.51.612-.919.857-1.215.245.296.55.705.857 1.215A9.638 9.638 0 0110.22 7.25zm1.504 1.5c-.144 2.074-.866 3.756-1.58 4.948-.12.197-.237.381-.353.552a6.506 6.506 0 004.666-5.5h-2.733zm2.733-1.5h-2.733c-.144-2.074-.866-3.756-1.58-4.948a11.13 11.13 0 00-.353-.552 6.506 6.506 0 014.666 5.5zM8 0a8 8 0 100 16A8 8 0 008 0z"/></g>
<text x="40" y="155" font-size="12" fill="#ffffff">Languages used</text>
<text x="320" y="155" font-size="12" font-weight="600" fill="#00aeff" text-anchor="end">54</text>
</svg>

After

Width:  |  Height:  |  Size: 4.0 KiB

+25
View File
@@ -0,0 +1,25 @@
<svg xmlns="http://www.w3.org/2000/svg" width="340" height="200" viewBox="0 0 340 200" font-family="'Segoe UI', Ubuntu, Sans-Serif">
<rect x="0.5" y="0.5" width="339" height="199" rx="6" fill="#050f2c" stroke="#000000" stroke-opacity="0.00"/>
<text x="20" y="30" font-size="15" font-weight="600" fill="#00aeff">Repos Per Language</text>
<rect x="20" y="47" width="10" height="10" fill="#f1e05a" stroke="#050f2c" stroke-width="1"/>
<text x="36" y="55" font-size="11" fill="#ffffff">JavaScript 29.71%</text>
<rect x="20" y="67" width="10" height="10" fill="#00ADD8" stroke="#050f2c" stroke-width="1"/>
<text x="36" y="75" font-size="11" fill="#ffffff">Go 16.00%</text>
<rect x="20" y="87" width="10" height="10" fill="#e34c26" stroke="#050f2c" stroke-width="1"/>
<text x="36" y="95" font-size="11" fill="#ffffff">HTML 10.86%</text>
<rect x="20" y="107" width="10" height="10" fill="#3572A5" stroke="#050f2c" stroke-width="1"/>
<text x="36" y="115" font-size="11" fill="#ffffff">Python 10.29%</text>
<rect x="20" y="127" width="10" height="10" fill="#b07219" stroke="#050f2c" stroke-width="1"/>
<text x="36" y="135" font-size="11" fill="#ffffff">Java 8.57%</text>
<rect x="20" y="147" width="10" height="10" fill="#f34b7d" stroke="#050f2c" stroke-width="1"/>
<text x="36" y="155" font-size="11" fill="#ffffff">C++ 4.57%</text>
<rect x="20" y="167" width="10" height="10" fill="#00aeff" stroke="#050f2c" stroke-width="1"/>
<text x="36" y="175" font-size="11" fill="#ffffff">Other 20.00%</text>
<path d="M250.00,55.00 A55.00,55.00 0 0 1 302.60,126.05 L278.69,118.76 A30.00,30.00 0 0 0 250.00,80.00 Z" fill="#f1e05a" stroke="#050f2c" stroke-width="1.5"/>
<path d="M302.60,126.05 A55.00,55.00 0 0 1 264.63,163.02 L257.98,138.92 A30.00,30.00 0 0 0 278.69,118.76 Z" fill="#00ADD8" stroke="#050f2c" stroke-width="1.5"/>
<path d="M264.63,163.02 A55.00,55.00 0 0 1 227.93,160.38 L237.96,137.48 A30.00,30.00 0 0 0 257.98,138.92 Z" fill="#e34c26" stroke="#050f2c" stroke-width="1.5"/>
<path d="M227.93,160.38 A55.00,55.00 0 0 1 202.04,136.93 L223.84,124.69 A30.00,30.00 0 0 0 237.96,137.48 Z" fill="#3572A5" stroke="#050f2c" stroke-width="1.5"/>
<path d="M202.04,136.93 A55.00,55.00 0 0 1 195.02,108.52 L220.01,109.19 A30.00,30.00 0 0 0 223.84,124.69 Z" fill="#b07219" stroke="#050f2c" stroke-width="1.5"/>
<path d="M195.02,108.52 A55.00,55.00 0 0 1 197.69,93.00 L221.47,100.73 A30.00,30.00 0 0 0 220.01,109.19 Z" fill="#f34b7d" stroke="#050f2c" stroke-width="1.5"/>
<path d="M197.69,93.00 A55.00,55.00 0 0 1 250.00,55.00 L250.00,80.00 A30.00,30.00 0 0 0 221.47,100.73 Z" fill="#00aeff" stroke="#050f2c" stroke-width="1.5"/>
</svg>

After

Width:  |  Height:  |  Size: 2.6 KiB

+25
View File
@@ -0,0 +1,25 @@
<svg xmlns="http://www.w3.org/2000/svg" width="340" height="200" viewBox="0 0 340 200" font-family="'Segoe UI', Ubuntu, Sans-Serif">
<rect x="0.5" y="0.5" width="339" height="199" rx="6" fill="#050f2c" stroke="#000000" stroke-opacity="0.00"/>
<text x="20" y="30" font-size="15" font-weight="600" fill="#00aeff">Stats</text>
<g transform="translate(20,45.00) scale(0.750)" fill="#2dde98"><path fill-rule="evenodd" d="M8 .25a.75.75 0 01.673.418l1.882 3.815 4.21.612a.75.75 0 01.416 1.279l-3.046 2.97.719 4.192a.75.75 0 01-1.088.791L8 12.347l-3.766 1.98a.75.75 0 01-1.088-.79l.72-4.194L.818 6.374a.75.75 0 01.416-1.28l4.21-.611L7.327.668A.75.75 0 018 .25zm0 2.445L6.615 5.5a.75.75 0 01-.564.41l-3.097.45 2.24 2.184a.75.75 0 01.216.664l-.528 3.084 2.769-1.456a.75.75 0 01.698 0l2.77 1.456-.53-3.084a.75.75 0 01.216-.664l2.24-2.183-3.096-.45a.75.75 0 01-.564-.41L8 2.694v.001z"/></g>
<text x="40" y="55" font-size="12" fill="#ffffff">Total Stars</text>
<text x="320" y="55" font-size="12" font-weight="600" fill="#00aeff" text-anchor="end">12</text>
<g transform="translate(20,65.00) scale(0.750)" fill="#2dde98"><path fill-rule="evenodd" d="M10.5 7.75a2.5 2.5 0 11-5 0 2.5 2.5 0 015 0zm1.43.75a4.002 4.002 0 01-7.86 0H.75a.75.75 0 110-1.5h3.32a4.001 4.001 0 017.86 0h3.32a.75.75 0 110 1.5h-3.32z"/></g>
<text x="40" y="75" font-size="12" fill="#ffffff">Total Commits (all time)</text>
<text x="320" y="75" font-size="12" font-weight="600" fill="#00aeff" text-anchor="end">10,384</text>
<g transform="translate(20,85.00) scale(0.750)" fill="#2dde98"><path fill-rule="evenodd" d="M10.5 7.75a2.5 2.5 0 11-5 0 2.5 2.5 0 015 0zm1.43.75a4.002 4.002 0 01-7.86 0H.75a.75.75 0 110-1.5h3.32a4.001 4.001 0 017.86 0h3.32a.75.75 0 110 1.5h-3.32z"/></g>
<text x="40" y="95" font-size="12" fill="#ffffff">Total Commits (last year)</text>
<text x="320" y="95" font-size="12" font-weight="600" fill="#00aeff" text-anchor="end">8,058</text>
<g transform="translate(20,105.00) scale(0.750)" fill="#2dde98"><path fill-rule="evenodd" d="M7.177 3.073L9.573.677A.25.25 0 0110 .854v4.792a.25.25 0 01-.427.177L7.177 3.427a.25.25 0 010-.354zM3.75 2.5a.75.75 0 100 1.5.75.75 0 000-1.5zm-2.25.75a2.25 2.25 0 113 2.122v5.256a2.251 2.251 0 11-1.5 0V5.372A2.25 2.25 0 011.5 3.25zM11 2.5h-1V4h1a1 1 0 011 1v5.628a2.251 2.251 0 101.5 0V5A2.5 2.5 0 0011 2.5zm1 10.25a.75.75 0 111.5 0 .75.75 0 01-1.5 0zM3.75 12a.75.75 0 100 1.5.75.75 0 000-1.5z"/></g>
<text x="40" y="115" font-size="12" fill="#ffffff">Total PRs</text>
<text x="320" y="115" font-size="12" font-weight="600" fill="#00aeff" text-anchor="end">225</text>
<g transform="translate(20,125.00) scale(0.750)" fill="#2dde98"><path fill-rule="evenodd" d="M8 1.5a6.5 6.5 0 100 13 6.5 6.5 0 000-13zM0 8a8 8 0 1116 0A8 8 0 010 8zm9 3a1 1 0 11-2 0 1 1 0 012 0zm-.25-6.25a.75.75 0 00-1.5 0v3.5a.75.75 0 001.5 0v-3.5z"/></g>
<text x="40" y="135" font-size="12" fill="#ffffff">Total Issues</text>
<text x="320" y="135" font-size="12" font-weight="600" fill="#00aeff" text-anchor="end">13</text>
<g transform="translate(20,145.00) scale(0.750)" fill="#2dde98"><path fill-rule="evenodd" d="M1.5 2.75a.25.25 0 01.25-.25h12.5a.25.25 0 01.25.25v8.5a.25.25 0 01-.25.25h-6.5a.75.75 0 00-.53.22L4.5 14.44v-2.19a.75.75 0 00-.75-.75h-2a.25.25 0 01-.25-.25v-8.5zM1.75 1A1.75 1.75 0 000 2.75v8.5C0 12.216.784 13 1.75 13H3v1.543a1.457 1.457 0 002.487 1.03L8.061 13h6.189A1.75 1.75 0 0016 11.25v-8.5A1.75 1.75 0 0014.25 1H1.75zm5.03 3.47a.75.75 0 010 1.06L5.31 7l1.47 1.47a.75.75 0 01-1.06 1.06l-2-2a.75.75 0 010-1.06l2-2a.75.75 0 011.06 0zm2.44 0a.75.75 0 000 1.06L10.69 7 9.22 8.47a.75.75 0 001.06 1.06l2-2a.75.75 0 000-1.06l-2-2a.75.75 0 00-1.06 0z"/></g>
<text x="40" y="155" font-size="12" fill="#ffffff">Total PR Reviews</text>
<text x="320" y="155" font-size="12" font-weight="600" fill="#00aeff" text-anchor="end">12</text>
<g transform="translate(20,165.00) scale(0.750)" fill="#2dde98"><path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"/></g>
<text x="40" y="175" font-size="12" fill="#ffffff">Contributed to</text>
<text x="320" y="175" font-size="12" font-weight="600" fill="#00aeff" text-anchor="end">90</text>
</svg>

After

Width:  |  Height:  |  Size: 4.4 KiB

+13
View File
@@ -0,0 +1,13 @@
<svg xmlns="http://www.w3.org/2000/svg" width="340" height="200" viewBox="0 0 340 200" font-family="'Segoe UI', Ubuntu, Sans-Serif">
<rect x="0.5" y="0.5" width="339" height="199" rx="6" fill="#050f2c" stroke="#000000" stroke-opacity="0.00"/>
<text x="20" y="30" font-size="15" font-weight="600" fill="#00aeff">Streak</text>
<text x="56" y="95" font-size="28" font-weight="700" fill="#00aeff" text-anchor="middle">11</text>
<text x="56" y="120" font-size="12" fill="#ffffff" text-anchor="middle">Current streak</text>
<text x="56" y="140" font-size="10" fill="#2dde98" text-anchor="middle">Sep 27 — Oct 7</text>
<text x="169" y="95" font-size="28" font-weight="700" fill="#00aeff" text-anchor="middle">176</text>
<text x="169" y="120" font-size="12" fill="#ffffff" text-anchor="middle">Longest streak</text>
<text x="169" y="140" font-size="10" fill="#2dde98" text-anchor="middle">Mar 30 — Sep 21</text>
<text x="282" y="95" font-size="28" font-weight="700" fill="#00aeff" text-anchor="middle">748</text>
<text x="282" y="120" font-size="12" fill="#ffffff" text-anchor="middle">Active days</text>
<text x="282" y="140" font-size="10" fill="#2dde98" text-anchor="middle">of 3,202 total (23%)</text>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

+39
View File
@@ -0,0 +1,39 @@
<svg xmlns="http://www.w3.org/2000/svg" width="340" height="200" viewBox="0 0 340 200" font-family="'Segoe UI', Ubuntu, Sans-Serif">
<rect x="0.5" y="0.5" width="339" height="199" rx="6" fill="#050f2c" stroke="#000000" stroke-opacity="0.00"/>
<text x="20" y="30" font-size="15" font-weight="600" fill="#00aeff">Top Starred Repos</text>
<circle cx="24" cy="51" r="4" fill="#00ADD8"/>
<text x="34" y="55" font-size="12" fill="#ffffff">awesome-ai-dev-t…</text>
<rect x="150" y="47" width="120" height="10" rx="3" fill="#00aeff" fill-opacity="0.15"/>
<rect x="150" y="47" width="120.00" height="10" rx="3" fill="#00aeff"/>
<text x="334" y="55" font-size="12" font-weight="600" fill="#00aeff" text-anchor="end">3 ★</text>
<circle cx="24" cy="71" r="4" fill="#00ADD8"/>
<text x="34" y="75" font-size="12" fill="#ffffff">ghglance</text>
<rect x="150" y="67" width="120" height="10" rx="3" fill="#00aeff" fill-opacity="0.15"/>
<rect x="150" y="67" width="40.00" height="10" rx="3" fill="#00aeff"/>
<text x="334" y="75" font-size="12" font-weight="600" fill="#00aeff" text-anchor="end">1 ★</text>
<circle cx="24" cy="91" r="4" fill="#f1e05a"/>
<text x="34" y="95" font-size="12" fill="#ffffff">ai-labs</text>
<rect x="150" y="87" width="120" height="10" rx="3" fill="#00aeff" fill-opacity="0.15"/>
<rect x="150" y="87" width="40.00" height="10" rx="3" fill="#00aeff"/>
<text x="334" y="95" font-size="12" font-weight="600" fill="#00aeff" text-anchor="end">1 ★</text>
<circle cx="24" cy="111" r="4" fill="#e34c26"/>
<text x="34" y="115" font-size="12" fill="#ffffff">penny-pincher-pr…</text>
<rect x="150" y="107" width="120" height="10" rx="3" fill="#00aeff" fill-opacity="0.15"/>
<rect x="150" y="107" width="40.00" height="10" rx="3" fill="#00aeff"/>
<text x="334" y="115" font-size="12" font-weight="600" fill="#00aeff" text-anchor="end">1 ★</text>
<circle cx="24" cy="131" r="4" fill="#dea584"/>
<text x="34" y="135" font-size="12" fill="#ffffff">time-mocker</text>
<rect x="150" y="127" width="120" height="10" rx="3" fill="#00aeff" fill-opacity="0.15"/>
<rect x="150" y="127" width="40.00" height="10" rx="3" fill="#00aeff"/>
<text x="334" y="135" font-size="12" font-weight="600" fill="#00aeff" text-anchor="end">1 ★</text>
<circle cx="24" cy="151" r="4" fill="#00ADD8"/>
<text x="34" y="155" font-size="12" fill="#ffffff">adventofcode</text>
<rect x="150" y="147" width="120" height="10" rx="3" fill="#00aeff" fill-opacity="0.15"/>
<rect x="150" y="147" width="40.00" height="10" rx="3" fill="#00aeff"/>
<text x="334" y="155" font-size="12" font-weight="600" fill="#00aeff" text-anchor="end">1 ★</text>
<circle cx="24" cy="171" r="4" fill="#3572A5"/>
<text x="34" y="175" font-size="12" fill="#ffffff">export-telegram-…</text>
<rect x="150" y="167" width="120" height="10" rx="3" fill="#00aeff" fill-opacity="0.15"/>
<rect x="150" y="167" width="40.00" height="10" rx="3" fill="#00aeff"/>
<text x="334" y="175" font-size="12" font-weight="600" fill="#00aeff" text-anchor="end">1 ★</text>
</svg>

After

Width:  |  Height:  |  Size: 3.0 KiB

+21
View File
@@ -0,0 +1,21 @@
# ghglance — apprentice
[← back to index](../README.md)
Rendered for [`tiennm99`](https://github.com/tiennm99). 16 SVGs laid out to match the author profile README table.
<div align="center">
<table>
<tr><td><img src="./profile-details.svg" alt="profile-details" /></td><td><img src="./stats.svg" alt="stats" /></td></tr>
<tr><td><img src="./repos-per-language.svg" alt="repos-per-language" /></td><td><img src="./top-starred-repos.svg" alt="top-starred-repos" /></td></tr>
<tr><td><img src="./contributions-by-year.svg" alt="contributions-by-year" /></td><td><img src="./contributions-heatmap.svg" alt="contributions-heatmap" /></td></tr>
<tr><td><img src="./records.svg" alt="records" /></td><td><img src="./streak.svg" alt="streak" /></td></tr>
<tr><th>Last year</th><th>All time</th></tr>
<tr><td><img src="./most-commit-language.svg" alt="most-commit-language" /></td><td><img src="./most-commit-language-all-time.svg" alt="most-commit-language-all-time" /></td></tr>
<tr><td><img src="./contributions.svg" alt="contributions" /></td><td><img src="./contributions-all-time.svg" alt="contributions-all-time" /></td></tr>
<tr><td><img src="./productive-weekday.svg" alt="productive-weekday" /></td><td><img src="./productive-weekday-all-time.svg" alt="productive-weekday-all-time" /></td></tr>
<tr><td><img src="./productive-time.svg" alt="productive-time" /></td><td><img src="./productive-time-all-time.svg" alt="productive-time-all-time" /></td></tr>
</table>
</div>
@@ -0,0 +1,42 @@
<svg xmlns="http://www.w3.org/2000/svg" width="340" height="200" viewBox="0 0 340 200" font-family="'Segoe UI', Ubuntu, Sans-Serif">
<rect x="0.5" y="0.5" width="339" height="199" rx="6" fill="#262626" stroke="#000000" stroke-opacity="0.00"/>
<text x="20" y="30" font-size="15" font-weight="600" fill="#ffffff">Contributions (all time)</text>
<line x1="28" y1="45" x2="28" y2="150" stroke="#ffffaf"/>
<line x1="312" y1="45" x2="312" y2="150" stroke="#ffffaf"/>
<line x1="24" y1="150" x2="28" y2="150" stroke="#ffffaf"/>
<text x="22" y="153" font-size="10" fill="#ffffaf" text-anchor="end">0</text>
<line x1="312" y1="150" x2="316" y2="150" stroke="#ffffaf"/>
<text x="318" y="153" font-size="10" fill="#ffffaf" text-anchor="start">0</text>
<line x1="24" y1="124" x2="28" y2="124" stroke="#ffffaf"/>
<text x="22" y="127" font-size="10" fill="#ffffaf" text-anchor="end">500</text>
<line x1="312" y1="124" x2="316" y2="124" stroke="#ffffaf"/>
<text x="318" y="127" font-size="10" fill="#ffffaf" text-anchor="start">500</text>
<line x1="24" y1="98" x2="28" y2="98" stroke="#ffffaf"/>
<text x="22" y="101" font-size="10" fill="#ffffaf" text-anchor="end">1k</text>
<line x1="312" y1="98" x2="316" y2="98" stroke="#ffffaf"/>
<text x="318" y="101" font-size="10" fill="#ffffaf" text-anchor="start">1k</text>
<line x1="24" y1="72" x2="28" y2="72" stroke="#ffffaf"/>
<text x="22" y="75" font-size="10" fill="#ffffaf" text-anchor="end">1.5k</text>
<line x1="312" y1="72" x2="316" y2="72" stroke="#ffffaf"/>
<text x="318" y="75" font-size="10" fill="#ffffaf" text-anchor="start">1.5k</text>
<line x1="24" y1="45" x2="28" y2="45" stroke="#ffffaf"/>
<text x="22" y="48" font-size="10" fill="#ffffaf" text-anchor="end">2k</text>
<line x1="312" y1="45" x2="316" y2="45" stroke="#ffffaf"/>
<text x="318" y="48" font-size="10" fill="#ffffaf" text-anchor="start">2k</text>
<line x1="28" y1="150" x2="312" y2="150" stroke="#ffffaf"/>
<line x1="28" y1="150" x2="28" y2="154" stroke="#ffffaf"/>
<text x="28" y="166" font-size="10" fill="#ffffaf" text-anchor="middle">01/18</text>
<line x1="84" y1="150" x2="84" y2="154" stroke="#ffffaf"/>
<text x="84" y="166" font-size="10" fill="#ffffaf" text-anchor="middle">10/19</text>
<line x1="141" y1="150" x2="141" y2="154" stroke="#ffffaf"/>
<text x="141" y="166" font-size="10" fill="#ffffaf" text-anchor="middle">07/21</text>
<line x1="198" y1="150" x2="198" y2="154" stroke="#ffffaf"/>
<text x="198" y="166" font-size="10" fill="#ffffaf" text-anchor="middle">04/23</text>
<line x1="255" y1="150" x2="255" y2="154" stroke="#ffffaf"/>
<text x="255" y="166" font-size="10" fill="#ffffaf" text-anchor="middle">01/25</text>
<line x1="312" y1="150" x2="312" y2="154" stroke="#ffffaf"/>
<text x="312" y="166" font-size="10" fill="#ffffaf" text-anchor="middle">10/26</text>
<path d="M28.00,150.00 C28.45,150.00 29.80,150.00 30.70,150.00 C31.61,150.00 32.51,150.00 33.41,150.00 C34.31,150.00 35.21,150.01 36.11,150.00 C37.02,149.99 37.92,150.13 38.82,149.95 C39.72,149.76 40.62,148.89 41.52,148.90 C42.43,148.91 43.33,149.82 44.23,150.00 C45.13,150.18 46.03,150.03 46.93,150.00 C47.83,149.97 48.74,149.97 49.64,149.79 C50.54,149.61 51.44,148.99 52.34,148.95 C53.24,148.91 54.15,149.35 55.05,149.53 C55.95,149.70 56.85,149.93 57.75,150.00 C58.65,150.07 59.56,149.95 60.46,149.95 C61.36,149.95 62.26,149.99 63.16,150.00 C64.06,150.01 64.97,150.00 65.87,150.00 C66.77,150.00 67.67,150.00 68.57,150.00 C69.47,150.00 70.37,150.00 71.28,150.00 C72.18,150.00 73.08,150.01 73.98,150.00 C74.88,149.99 75.78,150.08 76.69,149.95 C77.59,149.82 78.49,149.20 79.39,149.21 C80.29,149.22 81.19,149.87 82.10,150.00 C83.00,150.13 83.90,150.03 84.80,150.00 C85.70,149.97 86.60,149.84 87.50,149.84 C88.41,149.84 89.31,149.97 90.21,150.00 C91.11,150.03 92.01,150.00 92.91,150.00 C93.82,150.00 94.72,150.05 95.62,150.00 C96.52,149.95 97.42,149.69 98.32,149.69 C99.23,149.69 100.13,149.97 101.03,150.00 C101.93,150.03 102.83,149.95 103.73,149.90 C104.63,149.84 105.54,149.68 106.44,149.69 C107.34,149.69 108.24,150.12 109.14,149.95 C110.04,149.77 110.95,148.63 111.85,148.63 C112.75,148.63 113.65,149.89 114.55,149.95 C115.45,150.00 116.36,148.95 117.26,148.95 C118.16,148.95 119.06,149.77 119.96,149.95 C120.86,150.12 121.77,149.99 122.67,150.00 C123.57,150.01 124.47,150.05 125.37,150.00 C126.27,149.95 127.17,149.80 128.08,149.69 C128.98,149.57 129.88,149.33 130.78,149.32 C131.68,149.31 132.58,149.52 133.49,149.63 C134.39,149.75 135.29,149.94 136.19,150.00 C137.09,150.06 137.99,150.00 138.90,150.00 C139.80,150.00 140.70,150.03 141.60,150.00 C142.50,149.97 143.40,149.89 144.30,149.79 C145.21,149.69 146.11,149.46 147.01,149.42 C147.91,149.39 148.81,149.48 149.71,149.58 C150.62,149.68 151.52,149.94 152.42,150.00 C153.32,150.06 154.22,149.98 155.12,149.95 C156.03,149.91 156.93,149.86 157.83,149.79 C158.73,149.72 159.63,149.59 160.53,149.53 C161.43,149.47 162.34,149.41 163.24,149.42 C164.14,149.43 165.04,149.48 165.94,149.58 C166.84,149.68 167.75,150.11 168.65,150.00 C169.55,149.89 170.45,149.14 171.35,148.95 C172.25,148.76 173.16,148.68 174.06,148.84 C174.96,149.01 175.86,149.92 176.76,149.95 C177.66,149.97 178.57,149.36 179.47,149.00 C180.37,148.64 181.27,148.36 182.17,147.79 C183.07,147.23 183.97,146.16 184.88,145.59 C185.78,145.02 186.68,143.65 187.58,144.38 C188.48,145.12 189.38,149.33 190.29,150.00 C191.19,150.67 192.09,148.74 192.99,148.43 C193.89,148.11 194.79,148.03 195.70,148.11 C196.60,148.19 197.50,149.06 198.40,148.90 C199.30,148.73 200.20,147.24 201.10,147.11 C202.01,146.99 202.91,147.80 203.81,148.16 C204.71,148.52 205.61,149.45 206.51,149.26 C207.42,149.08 208.32,148.48 209.22,147.06 C210.12,145.64 211.02,140.82 211.92,140.76 C212.83,140.70 213.73,145.26 214.63,146.69 C215.53,148.13 216.43,149.02 217.33,149.37 C218.23,149.72 219.14,148.70 220.04,148.79 C220.94,148.89 221.84,149.75 222.74,149.95 C223.64,150.15 224.55,150.24 225.45,150.00 C226.35,149.76 227.25,149.80 228.15,148.53 C229.05,147.26 229.96,142.87 230.86,142.39 C231.76,141.91 232.66,144.51 233.56,145.64 C234.46,146.77 235.37,148.50 236.27,149.16 C237.17,149.82 238.07,149.86 238.97,149.63 C239.87,149.41 240.77,148.17 241.68,147.79 C242.58,147.42 243.48,147.53 244.38,147.38 C245.28,147.22 246.18,146.57 247.09,146.85 C247.99,147.13 248.89,148.75 249.79,149.06 C250.69,149.36 251.59,148.65 252.50,148.69 C253.40,148.72 254.30,150.03 255.20,149.26 C256.10,148.49 257.00,145.09 257.90,144.07 C258.81,143.04 259.71,143.47 260.61,143.12 C261.51,142.77 262.41,142.48 263.31,141.97 C264.22,141.45 265.12,139.37 266.02,140.03 C266.92,140.68 267.82,144.86 268.72,145.91 C269.63,146.95 270.53,146.56 271.43,146.32 C272.33,146.09 273.23,144.44 274.13,144.49 C275.03,144.53 275.94,146.96 276.84,146.59 C277.74,146.22 278.64,144.73 279.54,142.28 C280.44,139.83 281.35,132.50 282.25,131.89 C283.15,131.27 284.05,135.94 284.95,138.61 C285.85,141.28 286.76,147.71 287.66,147.90 C288.56,148.09 289.46,144.62 290.36,139.76 C291.26,134.91 292.17,132.47 293.07,118.76 C293.97,105.05 294.87,64.85 295.77,57.50 C296.67,50.14 297.57,64.62 298.48,74.61 C299.38,84.60 300.28,113.99 301.18,117.45 C302.08,120.91 302.98,96.41 303.89,95.35 C304.79,94.29 305.69,108.64 306.59,111.10 C307.49,113.56 308.39,107.32 309.30,110.10 C310.20,112.88 311.55,124.84 312.00,127.79 L312.00,150.00 L28.00,150.00 Z" fill="#ffffff" fill-opacity="0.25" stroke="none"/>
<path d="M28.00,150.00 C28.45,150.00 29.80,150.00 30.70,150.00 C31.61,150.00 32.51,150.00 33.41,150.00 C34.31,150.00 35.21,150.01 36.11,150.00 C37.02,149.99 37.92,150.13 38.82,149.95 C39.72,149.76 40.62,148.89 41.52,148.90 C42.43,148.91 43.33,149.82 44.23,150.00 C45.13,150.18 46.03,150.03 46.93,150.00 C47.83,149.97 48.74,149.97 49.64,149.79 C50.54,149.61 51.44,148.99 52.34,148.95 C53.24,148.91 54.15,149.35 55.05,149.53 C55.95,149.70 56.85,149.93 57.75,150.00 C58.65,150.07 59.56,149.95 60.46,149.95 C61.36,149.95 62.26,149.99 63.16,150.00 C64.06,150.01 64.97,150.00 65.87,150.00 C66.77,150.00 67.67,150.00 68.57,150.00 C69.47,150.00 70.37,150.00 71.28,150.00 C72.18,150.00 73.08,150.01 73.98,150.00 C74.88,149.99 75.78,150.08 76.69,149.95 C77.59,149.82 78.49,149.20 79.39,149.21 C80.29,149.22 81.19,149.87 82.10,150.00 C83.00,150.13 83.90,150.03 84.80,150.00 C85.70,149.97 86.60,149.84 87.50,149.84 C88.41,149.84 89.31,149.97 90.21,150.00 C91.11,150.03 92.01,150.00 92.91,150.00 C93.82,150.00 94.72,150.05 95.62,150.00 C96.52,149.95 97.42,149.69 98.32,149.69 C99.23,149.69 100.13,149.97 101.03,150.00 C101.93,150.03 102.83,149.95 103.73,149.90 C104.63,149.84 105.54,149.68 106.44,149.69 C107.34,149.69 108.24,150.12 109.14,149.95 C110.04,149.77 110.95,148.63 111.85,148.63 C112.75,148.63 113.65,149.89 114.55,149.95 C115.45,150.00 116.36,148.95 117.26,148.95 C118.16,148.95 119.06,149.77 119.96,149.95 C120.86,150.12 121.77,149.99 122.67,150.00 C123.57,150.01 124.47,150.05 125.37,150.00 C126.27,149.95 127.17,149.80 128.08,149.69 C128.98,149.57 129.88,149.33 130.78,149.32 C131.68,149.31 132.58,149.52 133.49,149.63 C134.39,149.75 135.29,149.94 136.19,150.00 C137.09,150.06 137.99,150.00 138.90,150.00 C139.80,150.00 140.70,150.03 141.60,150.00 C142.50,149.97 143.40,149.89 144.30,149.79 C145.21,149.69 146.11,149.46 147.01,149.42 C147.91,149.39 148.81,149.48 149.71,149.58 C150.62,149.68 151.52,149.94 152.42,150.00 C153.32,150.06 154.22,149.98 155.12,149.95 C156.03,149.91 156.93,149.86 157.83,149.79 C158.73,149.72 159.63,149.59 160.53,149.53 C161.43,149.47 162.34,149.41 163.24,149.42 C164.14,149.43 165.04,149.48 165.94,149.58 C166.84,149.68 167.75,150.11 168.65,150.00 C169.55,149.89 170.45,149.14 171.35,148.95 C172.25,148.76 173.16,148.68 174.06,148.84 C174.96,149.01 175.86,149.92 176.76,149.95 C177.66,149.97 178.57,149.36 179.47,149.00 C180.37,148.64 181.27,148.36 182.17,147.79 C183.07,147.23 183.97,146.16 184.88,145.59 C185.78,145.02 186.68,143.65 187.58,144.38 C188.48,145.12 189.38,149.33 190.29,150.00 C191.19,150.67 192.09,148.74 192.99,148.43 C193.89,148.11 194.79,148.03 195.70,148.11 C196.60,148.19 197.50,149.06 198.40,148.90 C199.30,148.73 200.20,147.24 201.10,147.11 C202.01,146.99 202.91,147.80 203.81,148.16 C204.71,148.52 205.61,149.45 206.51,149.26 C207.42,149.08 208.32,148.48 209.22,147.06 C210.12,145.64 211.02,140.82 211.92,140.76 C212.83,140.70 213.73,145.26 214.63,146.69 C215.53,148.13 216.43,149.02 217.33,149.37 C218.23,149.72 219.14,148.70 220.04,148.79 C220.94,148.89 221.84,149.75 222.74,149.95 C223.64,150.15 224.55,150.24 225.45,150.00 C226.35,149.76 227.25,149.80 228.15,148.53 C229.05,147.26 229.96,142.87 230.86,142.39 C231.76,141.91 232.66,144.51 233.56,145.64 C234.46,146.77 235.37,148.50 236.27,149.16 C237.17,149.82 238.07,149.86 238.97,149.63 C239.87,149.41 240.77,148.17 241.68,147.79 C242.58,147.42 243.48,147.53 244.38,147.38 C245.28,147.22 246.18,146.57 247.09,146.85 C247.99,147.13 248.89,148.75 249.79,149.06 C250.69,149.36 251.59,148.65 252.50,148.69 C253.40,148.72 254.30,150.03 255.20,149.26 C256.10,148.49 257.00,145.09 257.90,144.07 C258.81,143.04 259.71,143.47 260.61,143.12 C261.51,142.77 262.41,142.48 263.31,141.97 C264.22,141.45 265.12,139.37 266.02,140.03 C266.92,140.68 267.82,144.86 268.72,145.91 C269.63,146.95 270.53,146.56 271.43,146.32 C272.33,146.09 273.23,144.44 274.13,144.49 C275.03,144.53 275.94,146.96 276.84,146.59 C277.74,146.22 278.64,144.73 279.54,142.28 C280.44,139.83 281.35,132.50 282.25,131.89 C283.15,131.27 284.05,135.94 284.95,138.61 C285.85,141.28 286.76,147.71 287.66,147.90 C288.56,148.09 289.46,144.62 290.36,139.76 C291.26,134.91 292.17,132.47 293.07,118.76 C293.97,105.05 294.87,64.85 295.77,57.50 C296.67,50.14 297.57,64.62 298.48,74.61 C299.38,84.60 300.28,113.99 301.18,117.45 C302.08,120.91 302.98,96.41 303.89,95.35 C304.79,94.29 305.69,108.64 306.59,111.10 C307.49,113.56 308.39,107.32 309.30,110.10 C310.20,112.88 311.55,124.84 312.00,127.79" fill="none" stroke="#ffffff" stroke-width="2"/>
<text x="170" y="184" font-size="11" fill="#ffffaf" text-anchor="middle">mm/yy</text>
</svg>

After

Width:  |  Height:  |  Size: 12 KiB

+30
View File
@@ -0,0 +1,30 @@
<svg xmlns="http://www.w3.org/2000/svg" width="340" height="200" viewBox="0 0 340 200" font-family="'Segoe UI', Ubuntu, Sans-Serif">
<rect x="0.5" y="0.5" width="339" height="199" rx="6" fill="#262626" stroke="#000000" stroke-opacity="0.00"/>
<text x="20" y="30" font-size="15" font-weight="600" fill="#ffffff">Contributions by Year</text>
<line x1="35" y1="45" x2="35" y2="155" stroke="#ffffaf"/>
<line x1="31" y1="155" x2="35" y2="155" stroke="#ffffaf"/>
<text x="29" y="158" font-size="10" fill="#ffffaf" text-anchor="end">0</text>
<line x1="31" y1="128" x2="35" y2="128" stroke="#ffffaf"/>
<text x="29" y="131" font-size="10" fill="#ffffaf" text-anchor="end">2k</text>
<line x1="31" y1="100" x2="35" y2="100" stroke="#ffffaf"/>
<text x="29" y="103" font-size="10" fill="#ffffaf" text-anchor="end">4k</text>
<line x1="31" y1="73" x2="35" y2="73" stroke="#ffffaf"/>
<text x="29" y="76" font-size="10" fill="#ffffaf" text-anchor="end">6k</text>
<line x1="31" y1="45" x2="35" y2="45" stroke="#ffffaf"/>
<text x="29" y="48" font-size="10" fill="#ffffaf" text-anchor="end">8k</text>
<line x1="35" y1="155" x2="325" y2="155" stroke="#ffffaf"/>
<rect x="35.00" y="154.24" width="30.44" height="0.76" rx="2" fill="#9d9d9d"><title>2018 — 55 commits</title></rect>
<text x="50.22" y="169" font-size="10" fill="#ffffaf" text-anchor="middle">2018</text>
<rect x="67.44" y="154.72" width="30.44" height="0.28" rx="2" fill="#9d9d9d"><title>2019 — 20 commits</title></rect>
<rect x="99.89" y="154.13" width="30.44" height="0.87" rx="2" fill="#9d9d9d"><title>2020 — 63 commits</title></rect>
<text x="115.11" y="169" font-size="10" fill="#ffffaf" text-anchor="middle">2020</text>
<rect x="132.33" y="154.31" width="30.44" height="0.69" rx="2" fill="#9d9d9d"><title>2021 — 50 commits</title></rect>
<rect x="164.78" y="150.50" width="30.44" height="4.50" rx="2" fill="#9d9d9d"><title>2022 — 327 commits</title></rect>
<text x="180.00" y="169" font-size="10" fill="#ffffaf" text-anchor="middle">2022</text>
<rect x="197.22" y="147.84" width="30.44" height="7.16" rx="2" fill="#9d9d9d"><title>2023 — 521 commits</title></rect>
<rect x="229.67" y="148.47" width="30.44" height="6.53" rx="2" fill="#9d9d9d"><title>2024 — 475 commits</title></rect>
<text x="244.89" y="169" font-size="10" fill="#ffffaf" text-anchor="middle">2024</text>
<rect x="262.11" y="132.62" width="30.44" height="22.39" rx="2" fill="#9d9d9d"><title>2025 — 1628 commits</title></rect>
<rect x="294.56" y="50.32" width="30.44" height="104.68" rx="2" fill="#ffffff"><title>2026 — 7613 commits</title></rect>
<text x="309.78" y="169" font-size="10" fill="#ffffaf" text-anchor="middle">2026</text>
</svg>

After

Width:  |  Height:  |  Size: 2.7 KiB

+391
View File
@@ -0,0 +1,391 @@
<svg xmlns="http://www.w3.org/2000/svg" width="340" height="200" viewBox="0 0 340 200" font-family="'Segoe UI', Ubuntu, Sans-Serif">
<rect x="0.5" y="0.5" width="339" height="199" rx="6" fill="#262626" stroke="#000000" stroke-opacity="0.00"/>
<text x="20" y="30" font-size="15" font-weight="600" fill="#ffffff">Contributions (last year)</text>
<text x="26" y="61" font-size="10" fill="#ffffaf" text-anchor="end">Tue</text>
<text x="26" y="79" font-size="10" fill="#ffffaf" text-anchor="end">Thu</text>
<text x="26" y="97" font-size="10" fill="#ffffaf" text-anchor="end">Sat</text>
<text x="39" y="41" font-size="10" fill="#ffffaf">Oct</text>
<text x="75" y="41" font-size="10" fill="#ffffaf">Nov</text>
<text x="111" y="41" font-size="10" fill="#ffffaf">Dec</text>
<text x="156" y="41" font-size="10" fill="#ffffaf">Jan</text>
<text x="192" y="41" font-size="10" fill="#ffffaf">Feb</text>
<text x="228" y="41" font-size="10" fill="#ffffaf">Mar</text>
<rect x="30" y="99" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2025-10-05 — 14</title></rect>
<rect x="39" y="45" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2025-10-06 — 4</title></rect>
<rect x="39" y="54" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2025-10-07 — 14</title></rect>
<rect x="39" y="63" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2025-10-08 — 14</title></rect>
<rect x="39" y="72" width="8" height="8" rx="1.5" fill="#262626"><title>2025-10-09 — 0</title></rect>
<rect x="39" y="81" width="8" height="8" rx="1.5" fill="#262626"><title>2025-10-10 — 0</title></rect>
<rect x="39" y="90" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2025-10-11 — 15</title></rect>
<rect x="39" y="99" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2025-10-12 — 3</title></rect>
<rect x="48" y="45" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2025-10-13 — 2</title></rect>
<rect x="48" y="54" width="8" height="8" rx="1.5" fill="#262626"><title>2025-10-14 — 0</title></rect>
<rect x="48" y="63" width="8" height="8" rx="1.5" fill="#262626"><title>2025-10-15 — 0</title></rect>
<rect x="48" y="72" width="8" height="8" rx="1.5" fill="#262626"><title>2025-10-16 — 0</title></rect>
<rect x="48" y="81" width="8" height="8" rx="1.5" fill="#262626"><title>2025-10-17 — 0</title></rect>
<rect x="48" y="90" width="8" height="8" rx="1.5" fill="#262626"><title>2025-10-18 — 0</title></rect>
<rect x="48" y="99" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2025-10-19 — 6</title></rect>
<rect x="57" y="45" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2025-10-20 — 5</title></rect>
<rect x="57" y="54" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2025-10-21 — 4</title></rect>
<rect x="57" y="63" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2025-10-22 — 5</title></rect>
<rect x="57" y="72" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2025-10-23 — 2</title></rect>
<rect x="57" y="81" width="8" height="8" rx="1.5" fill="#262626"><title>2025-10-24 — 0</title></rect>
<rect x="57" y="90" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2025-10-25 — 29</title></rect>
<rect x="57" y="99" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2025-10-26 — 4</title></rect>
<rect x="66" y="45" width="8" height="8" rx="1.5" fill="#262626"><title>2025-10-27 — 0</title></rect>
<rect x="66" y="54" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2025-10-28 — 1</title></rect>
<rect x="66" y="63" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2025-10-29 — 2</title></rect>
<rect x="66" y="72" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2025-10-30 — 1</title></rect>
<rect x="66" y="81" width="8" height="8" rx="1.5" fill="#262626"><title>2025-10-31 — 0</title></rect>
<rect x="66" y="90" width="8" height="8" rx="1.5" fill="#262626"><title>2025-11-01 — 0</title></rect>
<rect x="66" y="99" width="8" height="8" rx="1.5" fill="#262626"><title>2025-11-02 — 0</title></rect>
<rect x="75" y="45" width="8" height="8" rx="1.5" fill="#262626"><title>2025-11-03 — 0</title></rect>
<rect x="75" y="54" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2025-11-04 — 5</title></rect>
<rect x="75" y="63" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2025-11-05 — 9</title></rect>
<rect x="75" y="72" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2025-11-06 — 9</title></rect>
<rect x="75" y="81" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2025-11-07 — 38</title></rect>
<rect x="75" y="90" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2025-11-08 — 20</title></rect>
<rect x="75" y="99" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2025-11-09 — 8</title></rect>
<rect x="84" y="45" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2025-11-10 — 8</title></rect>
<rect x="84" y="54" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2025-11-11 — 9</title></rect>
<rect x="84" y="63" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2025-11-12 — 4</title></rect>
<rect x="84" y="72" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2025-11-13 — 24</title></rect>
<rect x="84" y="81" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2025-11-14 — 52</title></rect>
<rect x="84" y="90" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2025-11-15 — 17</title></rect>
<rect x="84" y="99" width="8" height="8" rx="1.5" fill="#262626"><title>2025-11-16 — 0</title></rect>
<rect x="93" y="45" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2025-11-17 — 2</title></rect>
<rect x="93" y="54" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2025-11-18 — 4</title></rect>
<rect x="93" y="63" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2025-11-19 — 14</title></rect>
<rect x="93" y="72" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2025-11-20 — 3</title></rect>
<rect x="93" y="81" width="8" height="8" rx="1.5" fill="#262626"><title>2025-11-21 — 0</title></rect>
<rect x="93" y="90" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2025-11-22 — 3</title></rect>
<rect x="93" y="99" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2025-11-23 — 1</title></rect>
<rect x="102" y="45" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2025-11-24 — 8</title></rect>
<rect x="102" y="54" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2025-11-25 — 2</title></rect>
<rect x="102" y="63" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2025-11-26 — 14</title></rect>
<rect x="102" y="72" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2025-11-27 — 32</title></rect>
<rect x="102" y="81" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2025-11-28 — 21</title></rect>
<rect x="102" y="90" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2025-11-29 — 24</title></rect>
<rect x="102" y="99" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2025-11-30 — 14</title></rect>
<rect x="111" y="45" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2025-12-01 — 8</title></rect>
<rect x="111" y="54" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2025-12-02 — 5</title></rect>
<rect x="111" y="63" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2025-12-03 — 17</title></rect>
<rect x="111" y="72" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2025-12-04 — 25</title></rect>
<rect x="111" y="81" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2025-12-05 — 4</title></rect>
<rect x="111" y="90" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2025-12-06 — 30</title></rect>
<rect x="111" y="99" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2025-12-07 — 5</title></rect>
<rect x="120" y="45" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2025-12-08 — 5</title></rect>
<rect x="120" y="54" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2025-12-09 — 5</title></rect>
<rect x="120" y="63" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2025-12-10 — 7</title></rect>
<rect x="120" y="72" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2025-12-11 — 14</title></rect>
<rect x="120" y="81" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2025-12-12 — 2</title></rect>
<rect x="120" y="90" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2025-12-13 — 2</title></rect>
<rect x="120" y="99" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2025-12-14 — 2</title></rect>
<rect x="129" y="45" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2025-12-15 — 16</title></rect>
<rect x="129" y="54" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2025-12-16 — 6</title></rect>
<rect x="129" y="63" width="8" height="8" rx="1.5" fill="#262626"><title>2025-12-17 — 0</title></rect>
<rect x="129" y="72" width="8" height="8" rx="1.5" fill="#262626"><title>2025-12-18 — 0</title></rect>
<rect x="129" y="81" width="8" height="8" rx="1.5" fill="#262626"><title>2025-12-19 — 0</title></rect>
<rect x="129" y="90" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2025-12-20 — 2</title></rect>
<rect x="129" y="99" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2025-12-21 — 36</title></rect>
<rect x="138" y="45" width="8" height="8" rx="1.5" fill="#262626"><title>2025-12-22 — 0</title></rect>
<rect x="138" y="54" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2025-12-23 — 2</title></rect>
<rect x="138" y="63" width="8" height="8" rx="1.5" fill="#262626"><title>2025-12-24 — 0</title></rect>
<rect x="138" y="72" width="8" height="8" rx="1.5" fill="#262626"><title>2025-12-25 — 0</title></rect>
<rect x="138" y="81" width="8" height="8" rx="1.5" fill="#262626"><title>2025-12-26 — 0</title></rect>
<rect x="138" y="90" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2025-12-27 — 2</title></rect>
<rect x="138" y="99" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2025-12-28 — 4</title></rect>
<rect x="147" y="45" width="8" height="8" rx="1.5" fill="#262626"><title>2025-12-29 — 0</title></rect>
<rect x="147" y="54" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2025-12-30 — 18</title></rect>
<rect x="147" y="63" width="8" height="8" rx="1.5" fill="#262626"><title>2025-12-31 — 0</title></rect>
<rect x="147" y="72" width="8" height="8" rx="1.5" fill="#262626"><title>2026-01-01 — 0</title></rect>
<rect x="147" y="81" width="8" height="8" rx="1.5" fill="#262626"><title>2026-01-02 — 0</title></rect>
<rect x="147" y="90" width="8" height="8" rx="1.5" fill="#262626"><title>2026-01-03 — 0</title></rect>
<rect x="147" y="99" width="8" height="8" rx="1.5" fill="#262626"><title>2026-01-04 — 0</title></rect>
<rect x="156" y="45" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-01-05 — 2</title></rect>
<rect x="156" y="54" width="8" height="8" rx="1.5" fill="#262626"><title>2026-01-06 — 0</title></rect>
<rect x="156" y="63" width="8" height="8" rx="1.5" fill="#262626"><title>2026-01-07 — 0</title></rect>
<rect x="156" y="72" width="8" height="8" rx="1.5" fill="#262626"><title>2026-01-08 — 0</title></rect>
<rect x="156" y="81" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-01-09 — 9</title></rect>
<rect x="156" y="90" width="8" height="8" rx="1.5" fill="#262626"><title>2026-01-10 — 0</title></rect>
<rect x="156" y="99" width="8" height="8" rx="1.5" fill="#262626"><title>2026-01-11 — 0</title></rect>
<rect x="165" y="45" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-01-12 — 1</title></rect>
<rect x="165" y="54" width="8" height="8" rx="1.5" fill="#262626"><title>2026-01-13 — 0</title></rect>
<rect x="165" y="63" width="8" height="8" rx="1.5" fill="#262626"><title>2026-01-14 — 0</title></rect>
<rect x="165" y="72" width="8" height="8" rx="1.5" fill="#262626"><title>2026-01-15 — 0</title></rect>
<rect x="165" y="81" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-01-16 — 1</title></rect>
<rect x="165" y="90" width="8" height="8" rx="1.5" fill="#262626"><title>2026-01-17 — 0</title></rect>
<rect x="165" y="99" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-01-18 — 4</title></rect>
<rect x="174" y="45" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-01-19 — 4</title></rect>
<rect x="174" y="54" width="8" height="8" rx="1.5" fill="#262626"><title>2026-01-20 — 0</title></rect>
<rect x="174" y="63" width="8" height="8" rx="1.5" fill="#262626"><title>2026-01-21 — 0</title></rect>
<rect x="174" y="72" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-01-22 — 6</title></rect>
<rect x="174" y="81" width="8" height="8" rx="1.5" fill="#262626"><title>2026-01-23 — 0</title></rect>
<rect x="174" y="90" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-01-24 — 2</title></rect>
<rect x="174" y="99" width="8" height="8" rx="1.5" fill="#262626"><title>2026-01-25 — 0</title></rect>
<rect x="183" y="45" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-01-26 — 1</title></rect>
<rect x="183" y="54" width="8" height="8" rx="1.5" fill="#262626"><title>2026-01-27 — 0</title></rect>
<rect x="183" y="63" width="8" height="8" rx="1.5" fill="#262626"><title>2026-01-28 — 0</title></rect>
<rect x="183" y="72" width="8" height="8" rx="1.5" fill="#262626"><title>2026-01-29 — 0</title></rect>
<rect x="183" y="81" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-01-30 — 10</title></rect>
<rect x="183" y="90" width="8" height="8" rx="1.5" fill="#262626"><title>2026-01-31 — 0</title></rect>
<rect x="183" y="99" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-02-01 — 2</title></rect>
<rect x="192" y="45" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-02-02 — 2</title></rect>
<rect x="192" y="54" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-02-03 — 2</title></rect>
<rect x="192" y="63" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-02-04 — 1</title></rect>
<rect x="192" y="72" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-02-05 — 9</title></rect>
<rect x="192" y="81" width="8" height="8" rx="1.5" fill="#262626"><title>2026-02-06 — 0</title></rect>
<rect x="192" y="90" width="8" height="8" rx="1.5" fill="#262626"><title>2026-02-07 — 0</title></rect>
<rect x="192" y="99" width="8" height="8" rx="1.5" fill="#262626"><title>2026-02-08 — 0</title></rect>
<rect x="201" y="45" width="8" height="8" rx="1.5" fill="#262626"><title>2026-02-09 — 0</title></rect>
<rect x="201" y="54" width="8" height="8" rx="1.5" fill="#262626"><title>2026-02-10 — 0</title></rect>
<rect x="201" y="63" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-02-11 — 1</title></rect>
<rect x="201" y="72" width="8" height="8" rx="1.5" fill="#262626"><title>2026-02-12 — 0</title></rect>
<rect x="201" y="81" width="8" height="8" rx="1.5" fill="#262626"><title>2026-02-13 — 0</title></rect>
<rect x="201" y="90" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-02-14 — 2</title></rect>
<rect x="201" y="99" width="8" height="8" rx="1.5" fill="#262626"><title>2026-02-15 — 0</title></rect>
<rect x="210" y="45" width="8" height="8" rx="1.5" fill="#262626"><title>2026-02-16 — 0</title></rect>
<rect x="210" y="54" width="8" height="8" rx="1.5" fill="#262626"><title>2026-02-17 — 0</title></rect>
<rect x="210" y="63" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-02-18 — 2</title></rect>
<rect x="210" y="72" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-02-19 — 2</title></rect>
<rect x="210" y="81" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-02-20 — 49</title></rect>
<rect x="210" y="90" width="8" height="8" rx="1.5" fill="#262626"><title>2026-02-21 — 0</title></rect>
<rect x="210" y="99" width="8" height="8" rx="1.5" fill="#262626"><title>2026-02-22 — 0</title></rect>
<rect x="219" y="45" width="8" height="8" rx="1.5" fill="#262626"><title>2026-02-23 — 0</title></rect>
<rect x="219" y="54" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-02-24 — 2</title></rect>
<rect x="219" y="63" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-02-25 — 38</title></rect>
<rect x="219" y="72" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-02-26 — 18</title></rect>
<rect x="219" y="81" width="8" height="8" rx="1.5" fill="#929292"><title>2026-02-27 — 63</title></rect>
<rect x="219" y="90" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-02-28 — 2</title></rect>
<rect x="219" y="99" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-03-01 — 2</title></rect>
<rect x="228" y="45" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-03-02 — 2</title></rect>
<rect x="228" y="54" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-03-03 — 39</title></rect>
<rect x="228" y="63" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-03-04 — 24</title></rect>
<rect x="228" y="72" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-03-05 — 10</title></rect>
<rect x="228" y="81" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-03-06 — 12</title></rect>
<rect x="228" y="90" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-03-07 — 43</title></rect>
<rect x="228" y="99" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-03-08 — 45</title></rect>
<rect x="237" y="45" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-03-09 — 30</title></rect>
<rect x="237" y="54" width="8" height="8" rx="1.5" fill="#929292"><title>2026-03-10 — 66</title></rect>
<rect x="237" y="63" width="8" height="8" rx="1.5" fill="#c8c8c8"><title>2026-03-11 — 150</title></rect>
<rect x="237" y="72" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-03-12 — 50</title></rect>
<rect x="237" y="81" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-03-13 — 4</title></rect>
<rect x="237" y="90" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-03-14 — 2</title></rect>
<rect x="237" y="99" width="8" height="8" rx="1.5" fill="#262626"><title>2026-03-15 — 0</title></rect>
<rect x="246" y="45" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-03-16 — 3</title></rect>
<rect x="246" y="54" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-03-17 — 20</title></rect>
<rect x="246" y="63" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-03-18 — 10</title></rect>
<rect x="246" y="72" width="8" height="8" rx="1.5" fill="#262626"><title>2026-03-19 — 0</title></rect>
<rect x="246" y="81" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-03-20 — 2</title></rect>
<rect x="246" y="90" width="8" height="8" rx="1.5" fill="#262626"><title>2026-03-21 — 0</title></rect>
<rect x="246" y="99" width="8" height="8" rx="1.5" fill="#262626"><title>2026-03-22 — 0</title></rect>
<rect x="255" y="45" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-03-23 — 2</title></rect>
<rect x="255" y="54" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-03-24 — 4</title></rect>
<rect x="255" y="63" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-03-25 — 26</title></rect>
<rect x="255" y="72" width="8" height="8" rx="1.5" fill="#262626"><title>2026-03-26 — 0</title></rect>
<rect x="255" y="81" width="8" height="8" rx="1.5" fill="#262626"><title>2026-03-27 — 0</title></rect>
<rect x="255" y="90" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-03-28 — 2</title></rect>
<rect x="255" y="99" width="8" height="8" rx="1.5" fill="#262626"><title>2026-03-29 — 0</title></rect>
<rect x="264" y="45" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-03-30 — 24</title></rect>
<rect x="264" y="54" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-03-31 — 23</title></rect>
<rect x="264" y="63" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-04-01 — 17</title></rect>
<rect x="264" y="72" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-04-02 — 8</title></rect>
<rect x="264" y="81" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-04-03 — 22</title></rect>
<rect x="264" y="90" width="8" height="8" rx="1.5" fill="#929292"><title>2026-04-04 — 76</title></rect>
<rect x="264" y="99" width="8" height="8" rx="1.5" fill="#929292"><title>2026-04-05 — 76</title></rect>
<text x="26" y="136" font-size="10" fill="#ffffaf" text-anchor="end">Tue</text>
<text x="26" y="154" font-size="10" fill="#ffffaf" text-anchor="end">Thu</text>
<text x="26" y="172" font-size="10" fill="#ffffaf" text-anchor="end">Sat</text>
<text x="30" y="116" font-size="10" fill="#ffffaf">Apr</text>
<text x="66" y="116" font-size="10" fill="#ffffaf">May</text>
<text x="102" y="116" font-size="10" fill="#ffffaf">Jun</text>
<text x="147" y="116" font-size="10" fill="#ffffaf">Jul</text>
<text x="183" y="116" font-size="10" fill="#ffffaf">Aug</text>
<text x="228" y="116" font-size="10" fill="#ffffaf">Sep</text>
<text x="264" y="116" font-size="10" fill="#ffffaf">Oct</text>
<rect x="30" y="120" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-04-06 — 55</title></rect>
<rect x="30" y="129" width="8" height="8" rx="1.5" fill="#929292"><title>2026-04-07 — 72</title></rect>
<rect x="30" y="138" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-04-08 — 14</title></rect>
<rect x="30" y="147" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-04-09 — 25</title></rect>
<rect x="30" y="156" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-04-10 — 2</title></rect>
<rect x="30" y="165" width="8" height="8" rx="1.5" fill="#929292"><title>2026-04-11 — 60</title></rect>
<rect x="30" y="174" width="8" height="8" rx="1.5" fill="#929292"><title>2026-04-12 — 84</title></rect>
<rect x="39" y="120" width="8" height="8" rx="1.5" fill="#929292"><title>2026-04-13 — 82</title></rect>
<rect x="39" y="129" width="8" height="8" rx="1.5" fill="#929292"><title>2026-04-14 — 94</title></rect>
<rect x="39" y="138" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-04-15 — 14</title></rect>
<rect x="39" y="147" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-04-16 — 29</title></rect>
<rect x="39" y="156" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-04-17 — 19</title></rect>
<rect x="39" y="165" width="8" height="8" rx="1.5" fill="#ffffff"><title>2026-04-18 — 195</title></rect>
<rect x="39" y="174" width="8" height="8" rx="1.5" fill="#929292"><title>2026-04-19 — 111</title></rect>
<rect x="48" y="120" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-04-20 — 46</title></rect>
<rect x="48" y="129" width="8" height="8" rx="1.5" fill="#929292"><title>2026-04-21 — 84</title></rect>
<rect x="48" y="138" width="8" height="8" rx="1.5" fill="#929292"><title>2026-04-22 — 72</title></rect>
<rect x="48" y="147" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-04-23 — 30</title></rect>
<rect x="48" y="156" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-04-24 — 50</title></rect>
<rect x="48" y="165" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-04-25 — 43</title></rect>
<rect x="48" y="174" width="8" height="8" rx="1.5" fill="#929292"><title>2026-04-26 — 101</title></rect>
<rect x="57" y="120" width="8" height="8" rx="1.5" fill="#929292"><title>2026-04-27 — 105</title></rect>
<rect x="57" y="129" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-04-28 — 45</title></rect>
<rect x="57" y="138" width="8" height="8" rx="1.5" fill="#929292"><title>2026-04-29 — 78</title></rect>
<rect x="57" y="147" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-04-30 — 53</title></rect>
<rect x="57" y="156" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-05-01 — 13</title></rect>
<rect x="57" y="165" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-05-02 — 2</title></rect>
<rect x="57" y="174" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-05-03 — 25</title></rect>
<rect x="66" y="120" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-05-04 — 2</title></rect>
<rect x="66" y="129" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-05-05 — 30</title></rect>
<rect x="66" y="138" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-05-06 — 5</title></rect>
<rect x="66" y="147" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-05-07 — 44</title></rect>
<rect x="66" y="156" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-05-08 — 43</title></rect>
<rect x="66" y="165" width="8" height="8" rx="1.5" fill="#ffffff"><title>2026-05-09 — 228</title></rect>
<rect x="66" y="174" width="8" height="8" rx="1.5" fill="#c8c8c8"><title>2026-05-10 — 133</title></rect>
<rect x="75" y="120" width="8" height="8" rx="1.5" fill="#ffffff"><title>2026-05-11 — 181</title></rect>
<rect x="75" y="129" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-05-12 — 1</title></rect>
<rect x="75" y="138" width="8" height="8" rx="1.5" fill="#c8c8c8"><title>2026-05-13 — 136</title></rect>
<rect x="75" y="147" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-05-14 — 17</title></rect>
<rect x="75" y="156" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-05-15 — 46</title></rect>
<rect x="75" y="165" width="8" height="8" rx="1.5" fill="#929292"><title>2026-05-16 — 74</title></rect>
<rect x="75" y="174" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-05-17 — 29</title></rect>
<rect x="84" y="120" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-05-18 — 56</title></rect>
<rect x="84" y="129" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-05-19 — 10</title></rect>
<rect x="84" y="138" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-05-20 — 8</title></rect>
<rect x="84" y="147" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-05-21 — 6</title></rect>
<rect x="84" y="156" width="8" height="8" rx="1.5" fill="#929292"><title>2026-05-22 — 69</title></rect>
<rect x="84" y="165" width="8" height="8" rx="1.5" fill="#c8c8c8"><title>2026-05-23 — 166</title></rect>
<rect x="84" y="174" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-05-24 — 24</title></rect>
<rect x="93" y="120" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-05-25 — 30</title></rect>
<rect x="93" y="129" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-05-26 — 2</title></rect>
<rect x="93" y="138" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-05-27 — 8</title></rect>
<rect x="93" y="147" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-05-28 — 19</title></rect>
<rect x="93" y="156" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-05-29 — 5</title></rect>
<rect x="93" y="165" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-05-30 — 21</title></rect>
<rect x="93" y="174" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-05-31 — 3</title></rect>
<rect x="102" y="120" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-06-01 — 26</title></rect>
<rect x="102" y="129" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-06-02 — 12</title></rect>
<rect x="102" y="138" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-06-03 — 8</title></rect>
<rect x="102" y="147" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-06-04 — 45</title></rect>
<rect x="102" y="156" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-06-05 — 33</title></rect>
<rect x="102" y="165" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-06-06 — 3</title></rect>
<rect x="102" y="174" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-06-07 — 3</title></rect>
<rect x="111" y="120" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-06-08 — 16</title></rect>
<rect x="111" y="129" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-06-09 — 8</title></rect>
<rect x="111" y="138" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-06-10 — 18</title></rect>
<rect x="111" y="147" width="8" height="8" rx="1.5" fill="#929292"><title>2026-06-11 — 60</title></rect>
<rect x="111" y="156" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-06-12 — 32</title></rect>
<rect x="111" y="165" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-06-13 — 8</title></rect>
<rect x="111" y="174" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-06-14 — 8</title></rect>
<rect x="120" y="120" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-06-15 — 33</title></rect>
<rect x="120" y="129" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-06-16 — 4</title></rect>
<rect x="120" y="138" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-06-17 — 12</title></rect>
<rect x="120" y="147" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-06-18 — 2</title></rect>
<rect x="120" y="156" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-06-19 — 9</title></rect>
<rect x="120" y="165" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-06-20 — 9</title></rect>
<rect x="120" y="174" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-06-21 — 10</title></rect>
<rect x="129" y="120" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-06-22 — 5</title></rect>
<rect x="129" y="129" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-06-23 — 4</title></rect>
<rect x="129" y="138" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-06-24 — 8</title></rect>
<rect x="129" y="147" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-06-25 — 32</title></rect>
<rect x="129" y="156" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-06-26 — 12</title></rect>
<rect x="129" y="165" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-06-27 — 19</title></rect>
<rect x="129" y="174" width="8" height="8" rx="1.5" fill="#c8c8c8"><title>2026-06-28 — 130</title></rect>
<rect x="138" y="120" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-06-29 — 40</title></rect>
<rect x="138" y="129" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-06-30 — 11</title></rect>
<rect x="138" y="138" width="8" height="8" rx="1.5" fill="#929292"><title>2026-07-01 — 61</title></rect>
<rect x="138" y="147" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-07-02 — 15</title></rect>
<rect x="138" y="156" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-07-03 — 37</title></rect>
<rect x="138" y="165" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-07-04 — 9</title></rect>
<rect x="138" y="174" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-07-05 — 6</title></rect>
<rect x="147" y="120" width="8" height="8" rx="1.5" fill="#929292"><title>2026-07-06 — 90</title></rect>
<rect x="147" y="129" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-07-07 — 35</title></rect>
<rect x="147" y="138" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-07-08 — 6</title></rect>
<rect x="147" y="147" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-07-09 — 35</title></rect>
<rect x="147" y="156" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-07-10 — 8</title></rect>
<rect x="147" y="165" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-07-11 — 6</title></rect>
<rect x="147" y="174" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-07-12 — 3</title></rect>
<rect x="156" y="120" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-07-13 — 3</title></rect>
<rect x="156" y="129" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-07-14 — 32</title></rect>
<rect x="156" y="138" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-07-15 — 17</title></rect>
<rect x="156" y="147" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-07-16 — 17</title></rect>
<rect x="156" y="156" width="8" height="8" rx="1.5" fill="#929292"><title>2026-07-17 — 98</title></rect>
<rect x="156" y="165" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-07-18 — 42</title></rect>
<rect x="156" y="174" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-07-19 — 14</title></rect>
<rect x="165" y="120" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-07-20 — 28</title></rect>
<rect x="165" y="129" width="8" height="8" rx="1.5" fill="#c8c8c8"><title>2026-07-21 — 125</title></rect>
<rect x="165" y="138" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-07-22 — 39</title></rect>
<rect x="165" y="147" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-07-23 — 35</title></rect>
<rect x="165" y="156" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-07-24 — 14</title></rect>
<rect x="165" y="165" width="8" height="8" rx="1.5" fill="#ffffff"><title>2026-07-25 — 176</title></rect>
<rect x="165" y="174" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-07-26 — 44</title></rect>
<rect x="174" y="120" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-07-27 — 2</title></rect>
<rect x="174" y="129" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-07-28 — 2</title></rect>
<rect x="174" y="138" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-07-29 — 23</title></rect>
<rect x="174" y="147" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-07-30 — 17</title></rect>
<rect x="174" y="156" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-07-31 — 2</title></rect>
<rect x="174" y="165" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-08-01 — 12</title></rect>
<rect x="174" y="174" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-08-02 — 1</title></rect>
<rect x="183" y="120" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-08-03 — 13</title></rect>
<rect x="183" y="129" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-08-04 — 30</title></rect>
<rect x="183" y="138" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-08-05 — 25</title></rect>
<rect x="183" y="147" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-08-06 — 19</title></rect>
<rect x="183" y="156" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-08-07 — 13</title></rect>
<rect x="183" y="165" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-08-08 — 34</title></rect>
<rect x="183" y="174" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-08-09 — 18</title></rect>
<rect x="192" y="120" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-08-10 — 14</title></rect>
<rect x="192" y="129" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-08-11 — 11</title></rect>
<rect x="192" y="138" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-08-12 — 14</title></rect>
<rect x="192" y="147" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-08-13 — 42</title></rect>
<rect x="192" y="156" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-08-14 — 56</title></rect>
<rect x="192" y="165" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-08-15 — 2</title></rect>
<rect x="192" y="174" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-08-16 — 6</title></rect>
<rect x="201" y="120" width="8" height="8" rx="1.5" fill="#929292"><title>2026-08-17 — 93</title></rect>
<rect x="201" y="129" width="8" height="8" rx="1.5" fill="#c8c8c8"><title>2026-08-18 — 122</title></rect>
<rect x="201" y="138" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-08-19 — 18</title></rect>
<rect x="201" y="147" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-08-20 — 11</title></rect>
<rect x="201" y="156" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-08-21 — 1</title></rect>
<rect x="201" y="165" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-08-22 — 4</title></rect>
<rect x="201" y="174" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-08-23 — 1</title></rect>
<rect x="210" y="120" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-08-24 — 8</title></rect>
<rect x="210" y="129" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-08-25 — 47</title></rect>
<rect x="210" y="138" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-08-26 — 2</title></rect>
<rect x="210" y="147" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-08-27 — 15</title></rect>
<rect x="210" y="156" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-08-28 — 18</title></rect>
<rect x="210" y="165" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-08-29 — 8</title></rect>
<rect x="210" y="174" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-08-30 — 36</title></rect>
<rect x="219" y="120" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-08-31 — 47</title></rect>
<rect x="219" y="129" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-09-01 — 38</title></rect>
<rect x="219" y="138" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-09-02 — 14</title></rect>
<rect x="219" y="147" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-09-03 — 13</title></rect>
<rect x="219" y="156" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-09-04 — 27</title></rect>
<rect x="219" y="165" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-09-05 — 12</title></rect>
<rect x="219" y="174" width="8" height="8" rx="1.5" fill="#929292"><title>2026-09-06 — 75</title></rect>
<rect x="228" y="120" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-09-07 — 12</title></rect>
<rect x="228" y="129" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-09-08 — 32</title></rect>
<rect x="228" y="138" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-09-09 — 22</title></rect>
<rect x="228" y="147" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-09-10 — 16</title></rect>
<rect x="228" y="156" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-09-11 — 22</title></rect>
<rect x="228" y="165" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-09-12 — 2</title></rect>
<rect x="228" y="174" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-09-13 — 4</title></rect>
<rect x="237" y="120" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-09-14 — 2</title></rect>
<rect x="237" y="129" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-09-15 — 14</title></rect>
<rect x="237" y="138" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-09-16 — 40</title></rect>
<rect x="237" y="147" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-09-17 — 11</title></rect>
<rect x="237" y="156" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-09-18 — 51</title></rect>
<rect x="237" y="165" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-09-19 — 15</title></rect>
<rect x="237" y="174" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-09-20 — 18</title></rect>
<rect x="246" y="120" width="8" height="8" rx="1.5" fill="#929292"><title>2026-09-21 — 107</title></rect>
<rect x="246" y="129" width="8" height="8" rx="1.5" fill="#262626"><title>2026-09-22 — 0</title></rect>
<rect x="246" y="138" width="8" height="8" rx="1.5" fill="#262626"><title>2026-09-23 — 0</title></rect>
<rect x="246" y="147" width="8" height="8" rx="1.5" fill="#262626"><title>2026-09-24 — 0</title></rect>
<rect x="246" y="156" width="8" height="8" rx="1.5" fill="#262626"><title>2026-09-25 — 0</title></rect>
<rect x="246" y="165" width="8" height="8" rx="1.5" fill="#262626"><title>2026-09-26 — 0</title></rect>
<rect x="246" y="174" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-09-27 — 6</title></rect>
<rect x="255" y="120" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-09-28 — 41</title></rect>
<rect x="255" y="129" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-09-29 — 54</title></rect>
<rect x="255" y="138" width="8" height="8" rx="1.5" fill="#929292"><title>2026-09-30 — 112</title></rect>
<rect x="255" y="147" width="8" height="8" rx="1.5" fill="#929292"><title>2026-10-01 — 93</title></rect>
<rect x="255" y="156" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-10-02 — 36</title></rect>
<rect x="255" y="165" width="8" height="8" rx="1.5" fill="#929292"><title>2026-10-03 — 111</title></rect>
<rect x="255" y="174" width="8" height="8" rx="1.5" fill="#929292"><title>2026-10-04 — 78</title></rect>
<rect x="264" y="120" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-10-05 — 26</title></rect>
<rect x="264" y="129" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-10-06 — 35</title></rect>
<rect x="264" y="138" width="8" height="8" rx="1.5" fill="#5c5c5c"><title>2026-10-07 — 44</title></rect>
</svg>

After

Width:  |  Height:  |  Size: 40 KiB

+44
View File
@@ -0,0 +1,44 @@
<svg xmlns="http://www.w3.org/2000/svg" width="340" height="200" viewBox="0 0 340 200" font-family="'Segoe UI', Ubuntu, Sans-Serif">
<rect x="0.5" y="0.5" width="339" height="199" rx="6" fill="#262626" stroke="#000000" stroke-opacity="0.00"/>
<text x="20" y="30" font-size="15" font-weight="600" fill="#ffffff">Contributions (last year)</text>
<line x1="28" y1="45" x2="28" y2="150" stroke="#ffffaf"/>
<line x1="312" y1="45" x2="312" y2="150" stroke="#ffffaf"/>
<line x1="24" y1="150" x2="28" y2="150" stroke="#ffffaf"/>
<text x="22" y="153" font-size="10" fill="#ffffaf" text-anchor="end">0</text>
<line x1="312" y1="150" x2="316" y2="150" stroke="#ffffaf"/>
<text x="318" y="153" font-size="10" fill="#ffffaf" text-anchor="start">0</text>
<line x1="24" y1="124" x2="28" y2="124" stroke="#ffffaf"/>
<text x="22" y="127" font-size="10" fill="#ffffaf" text-anchor="end">500</text>
<line x1="312" y1="124" x2="316" y2="124" stroke="#ffffaf"/>
<text x="318" y="127" font-size="10" fill="#ffffaf" text-anchor="start">500</text>
<line x1="24" y1="98" x2="28" y2="98" stroke="#ffffaf"/>
<text x="22" y="101" font-size="10" fill="#ffffaf" text-anchor="end">1k</text>
<line x1="312" y1="98" x2="316" y2="98" stroke="#ffffaf"/>
<text x="318" y="101" font-size="10" fill="#ffffaf" text-anchor="start">1k</text>
<line x1="24" y1="72" x2="28" y2="72" stroke="#ffffaf"/>
<text x="22" y="75" font-size="10" fill="#ffffaf" text-anchor="end">1.5k</text>
<line x1="312" y1="72" x2="316" y2="72" stroke="#ffffaf"/>
<text x="318" y="75" font-size="10" fill="#ffffaf" text-anchor="start">1.5k</text>
<line x1="24" y1="45" x2="28" y2="45" stroke="#ffffaf"/>
<text x="22" y="48" font-size="10" fill="#ffffaf" text-anchor="end">2k</text>
<line x1="312" y1="45" x2="316" y2="45" stroke="#ffffaf"/>
<text x="318" y="48" font-size="10" fill="#ffffaf" text-anchor="start">2k</text>
<line x1="28" y1="150" x2="312" y2="150" stroke="#ffffaf"/>
<line x1="28" y1="150" x2="28" y2="154" stroke="#ffffaf"/>
<text x="28" y="166" font-size="10" fill="#ffffaf" text-anchor="middle">10/25</text>
<line x1="75" y1="150" x2="75" y2="154" stroke="#ffffaf"/>
<text x="75" y="166" font-size="10" fill="#ffffaf" text-anchor="middle">12/25</text>
<line x1="122" y1="150" x2="122" y2="154" stroke="#ffffaf"/>
<text x="122" y="166" font-size="10" fill="#ffffaf" text-anchor="middle">02/26</text>
<line x1="170" y1="150" x2="170" y2="154" stroke="#ffffaf"/>
<text x="170" y="166" font-size="10" fill="#ffffaf" text-anchor="middle">04/26</text>
<line x1="217" y1="150" x2="217" y2="154" stroke="#ffffaf"/>
<text x="217" y="166" font-size="10" fill="#ffffaf" text-anchor="middle">06/26</text>
<line x1="264" y1="150" x2="264" y2="154" stroke="#ffffaf"/>
<text x="264" y="166" font-size="10" fill="#ffffaf" text-anchor="middle">08/26</text>
<line x1="312" y1="150" x2="312" y2="154" stroke="#ffffaf"/>
<text x="312" y="166" font-size="10" fill="#ffffaf" text-anchor="middle">10/26</text>
<path d="M28.00,143.44 C31.94,141.51 43.78,132.69 51.67,131.89 C59.56,131.08 67.44,135.94 75.33,138.61 C83.22,141.28 91.11,147.71 99.00,147.90 C106.89,148.09 114.78,144.62 122.67,139.76 C130.56,134.91 138.44,132.47 146.33,118.76 C154.22,105.05 162.11,64.85 170.00,57.50 C177.89,50.14 185.78,64.62 193.67,74.61 C201.56,84.60 209.44,113.99 217.33,117.45 C225.22,120.91 233.11,96.41 241.00,95.35 C248.89,94.29 256.78,108.64 264.67,111.10 C272.56,113.56 280.44,107.32 288.33,110.10 C296.22,112.88 308.06,124.84 312.00,127.79 L312.00,150.00 L28.00,150.00 Z" fill="#ffffff" fill-opacity="0.25" stroke="none"/>
<path d="M28.00,143.44 C31.94,141.51 43.78,132.69 51.67,131.89 C59.56,131.08 67.44,135.94 75.33,138.61 C83.22,141.28 91.11,147.71 99.00,147.90 C106.89,148.09 114.78,144.62 122.67,139.76 C130.56,134.91 138.44,132.47 146.33,118.76 C154.22,105.05 162.11,64.85 170.00,57.50 C177.89,50.14 185.78,64.62 193.67,74.61 C201.56,84.60 209.44,113.99 217.33,117.45 C225.22,120.91 233.11,96.41 241.00,95.35 C248.89,94.29 256.78,108.64 264.67,111.10 C272.56,113.56 280.44,107.32 288.33,110.10 C296.22,112.88 308.06,124.84 312.00,127.79" fill="none" stroke="#ffffff" stroke-width="2"/>
<text x="170" y="184" font-size="11" fill="#ffffaf" text-anchor="middle">mm/yy</text>
</svg>

After

Width:  |  Height:  |  Size: 4.2 KiB

@@ -0,0 +1,25 @@
<svg xmlns="http://www.w3.org/2000/svg" width="340" height="200" viewBox="0 0 340 200" font-family="'Segoe UI', Ubuntu, Sans-Serif">
<rect x="0.5" y="0.5" width="339" height="199" rx="6" fill="#262626" stroke="#000000" stroke-opacity="0.00"/>
<text x="20" y="30" font-size="15" font-weight="600" fill="#ffffff">Most Commit Language (all time)</text>
<rect x="20" y="47" width="10" height="10" fill="#f1e05a" stroke="#262626" stroke-width="1"/>
<text x="36" y="55" font-size="11" fill="#bcbcbc">JavaScript 34.64%</text>
<rect x="20" y="67" width="10" height="10" fill="#00ADD8" stroke="#262626" stroke-width="1"/>
<text x="36" y="75" font-size="11" fill="#bcbcbc">Go 22.80%</text>
<rect x="20" y="87" width="10" height="10" fill="#e34c26" stroke="#262626" stroke-width="1"/>
<text x="36" y="95" font-size="11" fill="#bcbcbc">HTML 9.74%</text>
<rect x="20" y="107" width="10" height="10" fill="#b07219" stroke="#262626" stroke-width="1"/>
<text x="36" y="115" font-size="11" fill="#bcbcbc">Java 6.55%</text>
<rect x="20" y="127" width="10" height="10" fill="#3572A5" stroke="#262626" stroke-width="1"/>
<text x="36" y="135" font-size="11" fill="#bcbcbc">Python 5.08%</text>
<rect x="20" y="147" width="10" height="10" fill="#89e051" stroke="#262626" stroke-width="1"/>
<text x="36" y="155" font-size="11" fill="#bcbcbc">Shell 4.09%</text>
<rect x="20" y="167" width="10" height="10" fill="#ffffff" stroke="#262626" stroke-width="1"/>
<text x="36" y="175" font-size="11" fill="#bcbcbc">Other 17.09%</text>
<path d="M250.00,55.00 A55.00,55.00 0 0 1 295.22,141.31 L274.67,127.08 A30.00,30.00 0 0 0 250.00,80.00 Z" fill="#f1e05a" stroke="#262626" stroke-width="1.5"/>
<path d="M295.22,141.31 A55.00,55.00 0 0 1 225.24,159.11 L236.49,136.79 A30.00,30.00 0 0 0 274.67,127.08 Z" fill="#00ADD8" stroke="#262626" stroke-width="1.5"/>
<path d="M225.24,159.11 A55.00,55.00 0 0 1 201.51,135.96 L223.55,124.16 A30.00,30.00 0 0 0 236.49,136.79 Z" fill="#e34c26" stroke="#262626" stroke-width="1.5"/>
<path d="M201.51,135.96 A55.00,55.00 0 0 1 195.17,114.38 L220.10,112.39 A30.00,30.00 0 0 0 223.55,124.16 Z" fill="#b07219" stroke="#262626" stroke-width="1.5"/>
<path d="M195.17,114.38 A55.00,55.00 0 0 1 196.57,96.94 L220.86,102.88 A30.00,30.00 0 0 0 220.10,112.39 Z" fill="#3572A5" stroke="#262626" stroke-width="1.5"/>
<path d="M196.57,96.94 A55.00,55.00 0 0 1 201.65,83.79 L223.63,95.70 A30.00,30.00 0 0 0 220.86,102.88 Z" fill="#89e051" stroke="#262626" stroke-width="1.5"/>
<path d="M201.65,83.79 A55.00,55.00 0 0 1 250.00,55.00 L250.00,80.00 A30.00,30.00 0 0 0 223.63,95.70 Z" fill="#ffffff" stroke="#262626" stroke-width="1.5"/>
</svg>

After

Width:  |  Height:  |  Size: 2.6 KiB

+25
View File
@@ -0,0 +1,25 @@
<svg xmlns="http://www.w3.org/2000/svg" width="340" height="200" viewBox="0 0 340 200" font-family="'Segoe UI', Ubuntu, Sans-Serif">
<rect x="0.5" y="0.5" width="339" height="199" rx="6" fill="#262626" stroke="#000000" stroke-opacity="0.00"/>
<text x="20" y="30" font-size="15" font-weight="600" fill="#ffffff">Most Commit Language (last year)</text>
<rect x="20" y="47" width="10" height="10" fill="#f1e05a" stroke="#262626" stroke-width="1"/>
<text x="36" y="55" font-size="11" fill="#bcbcbc">JavaScript 37.51%</text>
<rect x="20" y="67" width="10" height="10" fill="#00ADD8" stroke="#262626" stroke-width="1"/>
<text x="36" y="75" font-size="11" fill="#bcbcbc">Go 28.78%</text>
<rect x="20" y="87" width="10" height="10" fill="#e34c26" stroke="#262626" stroke-width="1"/>
<text x="36" y="95" font-size="11" fill="#bcbcbc">HTML 6.29%</text>
<rect x="20" y="107" width="10" height="10" fill="#3572A5" stroke="#262626" stroke-width="1"/>
<text x="36" y="115" font-size="11" fill="#bcbcbc">Python 5.54%</text>
<rect x="20" y="127" width="10" height="10" fill="#ff3e00" stroke="#262626" stroke-width="1"/>
<text x="36" y="135" font-size="11" fill="#bcbcbc">Svelte 4.01%</text>
<rect x="20" y="147" width="10" height="10" fill="#89e051" stroke="#262626" stroke-width="1"/>
<text x="36" y="155" font-size="11" fill="#bcbcbc">Shell 3.76%</text>
<rect x="20" y="167" width="10" height="10" fill="#ffffff" stroke="#262626" stroke-width="1"/>
<text x="36" y="175" font-size="11" fill="#bcbcbc">Other 14.11%</text>
<path d="M250.00,55.00 A55.00,55.00 0 0 1 288.86,148.92 L271.20,131.23 A30.00,30.00 0 0 0 250.00,80.00 Z" fill="#f1e05a" stroke="#262626" stroke-width="1.5"/>
<path d="M288.86,148.92 A55.00,55.00 0 0 1 203.03,138.62 L224.38,125.61 A30.00,30.00 0 0 0 271.20,131.23 Z" fill="#00ADD8" stroke="#262626" stroke-width="1.5"/>
<path d="M203.03,138.62 A55.00,55.00 0 0 1 195.63,118.32 L220.35,114.54 A30.00,30.00 0 0 0 224.38,125.61 Z" fill="#e34c26" stroke="#262626" stroke-width="1.5"/>
<path d="M195.63,118.32 A55.00,55.00 0 0 1 196.06,99.27 L220.58,104.15 A30.00,30.00 0 0 0 220.35,114.54 Z" fill="#3572A5" stroke="#262626" stroke-width="1.5"/>
<path d="M196.06,99.27 A55.00,55.00 0 0 1 200.43,86.17 L222.96,97.00 A30.00,30.00 0 0 0 220.58,104.15 Z" fill="#ff3e00" stroke="#262626" stroke-width="1.5"/>
<path d="M200.43,86.17 A55.00,55.00 0 0 1 207.37,75.24 L226.75,91.04 A30.00,30.00 0 0 0 222.96,97.00 Z" fill="#89e051" stroke="#262626" stroke-width="1.5"/>
<path d="M207.37,75.24 A55.00,55.00 0 0 1 250.00,55.00 L250.00,80.00 A30.00,30.00 0 0 0 226.75,91.04 Z" fill="#ffffff" stroke="#262626" stroke-width="1.5"/>
</svg>

After

Width:  |  Height:  |  Size: 2.6 KiB

@@ -0,0 +1,55 @@
<svg xmlns="http://www.w3.org/2000/svg" width="340" height="200" viewBox="0 0 340 200" font-family="'Segoe UI', Ubuntu, Sans-Serif">
<rect x="0.5" y="0.5" width="339" height="199" rx="6" fill="#262626" stroke="#000000" stroke-opacity="0.00"/>
<text x="20" y="30" font-size="15" font-weight="600" fill="#ffffff">Commits by Hour (all time, UTC+7)</text>
<line x1="35" y1="45" x2="35" y2="155" stroke="#ffffaf"/>
<line x1="31" y1="155" x2="35" y2="155" stroke="#ffffaf"/>
<text x="29" y="158" font-size="10" fill="#ffffaf" text-anchor="end">0</text>
<line x1="31" y1="137" x2="35" y2="137" stroke="#ffffaf"/>
<text x="29" y="140" font-size="10" fill="#ffffaf" text-anchor="end">100</text>
<line x1="31" y1="119" x2="35" y2="119" stroke="#ffffaf"/>
<text x="29" y="122" font-size="10" fill="#ffffaf" text-anchor="end">200</text>
<line x1="31" y1="100" x2="35" y2="100" stroke="#ffffaf"/>
<text x="29" y="103" font-size="10" fill="#ffffaf" text-anchor="end">300</text>
<line x1="31" y1="82" x2="35" y2="82" stroke="#ffffaf"/>
<text x="29" y="85" font-size="10" fill="#ffffaf" text-anchor="end">400</text>
<line x1="31" y1="64" x2="35" y2="64" stroke="#ffffaf"/>
<text x="29" y="67" font-size="10" fill="#ffffaf" text-anchor="end">500</text>
<line x1="31" y1="45" x2="35" y2="45" stroke="#ffffaf"/>
<text x="29" y="48" font-size="10" fill="#ffffaf" text-anchor="end">600</text>
<line x1="35" y1="155" x2="325" y2="155" stroke="#ffffaf"/>
<line x1="40" y1="155" x2="40" y2="159" stroke="#ffffaf"/>
<text x="40" y="171" font-size="10" fill="#ffffaf" text-anchor="middle">0</text>
<line x1="113" y1="155" x2="113" y2="159" stroke="#ffffaf"/>
<text x="113" y="171" font-size="10" fill="#ffffaf" text-anchor="middle">6</text>
<line x1="186" y1="155" x2="186" y2="159" stroke="#ffffaf"/>
<text x="186" y="171" font-size="10" fill="#ffffaf" text-anchor="middle">12</text>
<line x1="258" y1="155" x2="258" y2="159" stroke="#ffffaf"/>
<text x="258" y="171" font-size="10" fill="#ffffaf" text-anchor="middle">18</text>
<line x1="319" y1="155" x2="319" y2="159" stroke="#ffffaf"/>
<text x="319" y="171" font-size="10" fill="#ffffaf" text-anchor="middle">23</text>
<rect x="35.00" y="101.28" width="11.12" height="53.72" rx="2" fill="#ffffff"><title>00:00 — 293 commits</title></rect>
<rect x="47.12" y="136.30" width="11.12" height="18.70" rx="2" fill="#ffffff"><title>01:00 — 102 commits</title></rect>
<rect x="59.25" y="145.10" width="11.12" height="9.90" rx="2" fill="#ffffff"><title>02:00 — 54 commits</title></rect>
<rect x="71.38" y="149.87" width="11.12" height="5.13" rx="2" fill="#ffffff"><title>03:00 — 28 commits</title></rect>
<rect x="83.50" y="153.35" width="11.12" height="1.65" rx="2" fill="#ffffff"><title>04:00 — 9 commits</title></rect>
<rect x="95.62" y="153.90" width="11.12" height="1.10" rx="2" fill="#ffffff"><title>05:00 — 6 commits</title></rect>
<rect x="107.75" y="152.80" width="11.12" height="2.20" rx="2" fill="#ffffff"><title>06:00 — 12 commits</title></rect>
<rect x="119.88" y="151.15" width="11.12" height="3.85" rx="2" fill="#ffffff"><title>07:00 — 21 commits</title></rect>
<rect x="132.00" y="135.20" width="11.12" height="19.80" rx="2" fill="#ffffff"><title>08:00 — 108 commits</title></rect>
<rect x="144.12" y="85.15" width="11.12" height="69.85" rx="2" fill="#ffffff"><title>09:00 — 381 commits</title></rect>
<rect x="156.25" y="68.83" width="11.12" height="86.17" rx="2" fill="#ffffff"><title>10:00 — 470 commits</title></rect>
<rect x="168.38" y="74.88" width="11.12" height="80.12" rx="2" fill="#ffffff"><title>11:00 — 437 commits</title></rect>
<rect x="180.50" y="104.40" width="11.12" height="50.60" rx="2" fill="#ffffff"><title>12:00 — 276 commits</title></rect>
<rect x="192.62" y="87.72" width="11.12" height="67.28" rx="2" fill="#ffffff"><title>13:00 — 367 commits</title></rect>
<rect x="204.75" y="86.80" width="11.12" height="68.20" rx="2" fill="#ffffff"><title>14:00 — 372 commits</title></rect>
<rect x="216.88" y="95.23" width="11.12" height="59.77" rx="2" fill="#ffffff"><title>15:00 — 326 commits</title></rect>
<rect x="229.00" y="80.02" width="11.12" height="74.98" rx="2" fill="#ffffff"><title>16:00 — 409 commits</title></rect>
<rect x="241.12" y="83.50" width="11.12" height="71.50" rx="2" fill="#ffffff"><title>17:00 — 390 commits</title></rect>
<rect x="253.25" y="105.32" width="11.12" height="49.68" rx="2" fill="#ffffff"><title>18:00 — 271 commits</title></rect>
<rect x="265.38" y="115.95" width="11.12" height="39.05" rx="2" fill="#ffffff"><title>19:00 — 213 commits</title></rect>
<rect x="277.50" y="65.72" width="11.12" height="89.28" rx="2" fill="#ffffff"><title>20:00 — 487 commits</title></rect>
<rect x="289.62" y="46.28" width="11.12" height="108.72" rx="2" fill="#ffffff"><title>21:00 — 593 commits</title></rect>
<rect x="301.75" y="60.77" width="11.12" height="94.23" rx="2" fill="#ffffff"><title>22:00 — 514 commits</title></rect>
<rect x="313.88" y="69.93" width="11.12" height="85.07" rx="2" fill="#ffffff"><title>23:00 — 464 commits</title></rect>
<text x="180" y="189" font-size="11" fill="#ffffaf" text-anchor="middle">hour of day</text>
</svg>

After

Width:  |  Height:  |  Size: 5.1 KiB

+51
View File
@@ -0,0 +1,51 @@
<svg xmlns="http://www.w3.org/2000/svg" width="340" height="200" viewBox="0 0 340 200" font-family="'Segoe UI', Ubuntu, Sans-Serif">
<rect x="0.5" y="0.5" width="339" height="199" rx="6" fill="#262626" stroke="#000000" stroke-opacity="0.00"/>
<text x="20" y="30" font-size="15" font-weight="600" fill="#ffffff">Commits by Hour (last year, UTC+7)</text>
<line x1="35" y1="45" x2="35" y2="155" stroke="#ffffaf"/>
<line x1="31" y1="155" x2="35" y2="155" stroke="#ffffaf"/>
<text x="29" y="158" font-size="10" fill="#ffffaf" text-anchor="end">0</text>
<line x1="31" y1="128" x2="35" y2="128" stroke="#ffffaf"/>
<text x="29" y="131" font-size="10" fill="#ffffaf" text-anchor="end">100</text>
<line x1="31" y1="100" x2="35" y2="100" stroke="#ffffaf"/>
<text x="29" y="103" font-size="10" fill="#ffffaf" text-anchor="end">200</text>
<line x1="31" y1="73" x2="35" y2="73" stroke="#ffffaf"/>
<text x="29" y="76" font-size="10" fill="#ffffaf" text-anchor="end">300</text>
<line x1="31" y1="45" x2="35" y2="45" stroke="#ffffaf"/>
<text x="29" y="48" font-size="10" fill="#ffffaf" text-anchor="end">400</text>
<line x1="35" y1="155" x2="325" y2="155" stroke="#ffffaf"/>
<line x1="40" y1="155" x2="40" y2="159" stroke="#ffffaf"/>
<text x="40" y="171" font-size="10" fill="#ffffaf" text-anchor="middle">0</text>
<line x1="113" y1="155" x2="113" y2="159" stroke="#ffffaf"/>
<text x="113" y="171" font-size="10" fill="#ffffaf" text-anchor="middle">6</text>
<line x1="186" y1="155" x2="186" y2="159" stroke="#ffffaf"/>
<text x="186" y="171" font-size="10" fill="#ffffaf" text-anchor="middle">12</text>
<line x1="258" y1="155" x2="258" y2="159" stroke="#ffffaf"/>
<text x="258" y="171" font-size="10" fill="#ffffaf" text-anchor="middle">18</text>
<line x1="319" y1="155" x2="319" y2="159" stroke="#ffffaf"/>
<text x="319" y="171" font-size="10" fill="#ffffaf" text-anchor="middle">23</text>
<rect x="35.00" y="102.47" width="11.12" height="52.52" rx="2" fill="#ffffff"><title>00:00 — 191 commits</title></rect>
<rect x="47.12" y="137.40" width="11.12" height="17.60" rx="2" fill="#ffffff"><title>01:00 — 64 commits</title></rect>
<rect x="59.25" y="143.18" width="11.12" height="11.82" rx="2" fill="#ffffff"><title>02:00 — 43 commits</title></rect>
<rect x="71.38" y="149.22" width="11.12" height="5.78" rx="2" fill="#ffffff"><title>03:00 — 21 commits</title></rect>
<rect x="83.50" y="155.00" width="11.12" height="0.00" rx="2" fill="#ffffff"><title>04:00 — 0 commits</title></rect>
<rect x="95.62" y="155.00" width="11.12" height="0.00" rx="2" fill="#ffffff"><title>05:00 — 0 commits</title></rect>
<rect x="107.75" y="154.45" width="11.12" height="0.55" rx="2" fill="#ffffff"><title>06:00 — 2 commits</title></rect>
<rect x="119.88" y="153.07" width="11.12" height="1.93" rx="2" fill="#ffffff"><title>07:00 — 7 commits</title></rect>
<rect x="132.00" y="132.18" width="11.12" height="22.82" rx="2" fill="#ffffff"><title>08:00 — 83 commits</title></rect>
<rect x="144.12" y="61.22" width="11.12" height="93.78" rx="2" fill="#ffffff"><title>09:00 — 341 commits</title></rect>
<rect x="156.25" y="48.30" width="11.12" height="106.70" rx="2" fill="#ffffff"><title>10:00 — 388 commits</title></rect>
<rect x="168.38" y="68.38" width="11.12" height="86.62" rx="2" fill="#ffffff"><title>11:00 — 315 commits</title></rect>
<rect x="180.50" y="101.65" width="11.12" height="53.35" rx="2" fill="#ffffff"><title>12:00 — 194 commits</title></rect>
<rect x="192.62" y="74.97" width="11.12" height="80.03" rx="2" fill="#ffffff"><title>13:00 — 291 commits</title></rect>
<rect x="204.75" y="78.83" width="11.12" height="76.17" rx="2" fill="#ffffff"><title>14:00 — 277 commits</title></rect>
<rect x="216.88" y="78.00" width="11.12" height="77.00" rx="2" fill="#ffffff"><title>15:00 — 280 commits</title></rect>
<rect x="229.00" y="56.28" width="11.12" height="98.72" rx="2" fill="#ffffff"><title>16:00 — 359 commits</title></rect>
<rect x="241.12" y="61.50" width="11.12" height="93.50" rx="2" fill="#ffffff"><title>17:00 — 340 commits</title></rect>
<rect x="253.25" y="103.85" width="11.12" height="51.15" rx="2" fill="#ffffff"><title>18:00 — 186 commits</title></rect>
<rect x="265.38" y="117.60" width="11.12" height="37.40" rx="2" fill="#ffffff"><title>19:00 — 136 commits</title></rect>
<rect x="277.50" y="65.62" width="11.12" height="89.38" rx="2" fill="#ffffff"><title>20:00 — 325 commits</title></rect>
<rect x="289.62" y="51.05" width="11.12" height="103.95" rx="2" fill="#ffffff"><title>21:00 — 378 commits</title></rect>
<rect x="301.75" y="58.20" width="11.12" height="96.80" rx="2" fill="#ffffff"><title>22:00 — 352 commits</title></rect>
<rect x="313.88" y="71.67" width="11.12" height="83.33" rx="2" fill="#ffffff"><title>23:00 — 303 commits</title></rect>
<text x="180" y="189" font-size="11" fill="#ffffaf" text-anchor="middle">hour of day</text>
</svg>

After

Width:  |  Height:  |  Size: 4.9 KiB

@@ -0,0 +1,36 @@
<svg xmlns="http://www.w3.org/2000/svg" width="340" height="200" viewBox="0 0 340 200" font-family="'Segoe UI', Ubuntu, Sans-Serif">
<rect x="0.5" y="0.5" width="339" height="199" rx="6" fill="#262626" stroke="#000000" stroke-opacity="0.00"/>
<text x="20" y="30" font-size="15" font-weight="600" fill="#ffffff">Commits by Weekday (all time)</text>
<line x1="35" y1="45" x2="35" y2="155" stroke="#ffffaf"/>
<line x1="31" y1="155" x2="35" y2="155" stroke="#ffffaf"/>
<text x="29" y="158" font-size="10" fill="#ffffaf" text-anchor="end">0</text>
<line x1="31" y1="140" x2="35" y2="140" stroke="#ffffaf"/>
<text x="29" y="143" font-size="10" fill="#ffffaf" text-anchor="end">200</text>
<line x1="31" y1="124" x2="35" y2="124" stroke="#ffffaf"/>
<text x="29" y="127" font-size="10" fill="#ffffaf" text-anchor="end">400</text>
<line x1="31" y1="108" x2="35" y2="108" stroke="#ffffaf"/>
<text x="29" y="111" font-size="10" fill="#ffffaf" text-anchor="end">600</text>
<line x1="31" y1="93" x2="35" y2="93" stroke="#ffffaf"/>
<text x="29" y="96" font-size="10" fill="#ffffaf" text-anchor="end">800</text>
<line x1="31" y1="77" x2="35" y2="77" stroke="#ffffaf"/>
<text x="29" y="80" font-size="10" fill="#ffffaf" text-anchor="end">1k</text>
<line x1="31" y1="61" x2="35" y2="61" stroke="#ffffaf"/>
<text x="29" y="64" font-size="10" fill="#ffffaf" text-anchor="end">1.2k</text>
<line x1="31" y1="45" x2="35" y2="45" stroke="#ffffaf"/>
<text x="29" y="48" font-size="10" fill="#ffffaf" text-anchor="end">1.4k</text>
<line x1="35" y1="155" x2="325" y2="155" stroke="#ffffaf"/>
<rect x="35.00" y="75.33" width="36.29" height="79.67" rx="2" fill="#9d9d9d"><title>Mon — 1014 commits</title></rect>
<text x="53.14" y="169" font-size="10" fill="#ffffaf" text-anchor="middle">Mon</text>
<rect x="77.29" y="84.52" width="36.29" height="70.48" rx="2" fill="#9d9d9d"><title>Tue — 897 commits</title></rect>
<text x="95.43" y="169" font-size="10" fill="#ffffaf" text-anchor="middle">Tue</text>
<rect x="119.57" y="84.13" width="36.29" height="70.87" rx="2" fill="#9d9d9d"><title>Wed — 902 commits</title></rect>
<text x="137.71" y="169" font-size="10" fill="#ffffaf" text-anchor="middle">Wed</text>
<rect x="161.86" y="97.96" width="36.29" height="57.04" rx="2" fill="#9d9d9d"><title>Thu — 726 commits</title></rect>
<text x="180.00" y="169" font-size="10" fill="#ffffaf" text-anchor="middle">Thu</text>
<rect x="204.14" y="96.94" width="36.29" height="58.06" rx="2" fill="#9d9d9d"><title>Fri — 739 commits</title></rect>
<text x="222.29" y="169" font-size="10" fill="#ffffaf" text-anchor="middle">Fri</text>
<rect x="246.43" y="53.56" width="36.29" height="101.44" rx="2" fill="#ffffff"><title>Sat — 1291 commits</title></rect>
<text x="264.57" y="169" font-size="10" fill="#ffffaf" text-anchor="middle">Sat</text>
<rect x="288.71" y="73.76" width="36.29" height="81.24" rx="2" fill="#9d9d9d"><title>Sun — 1034 commits</title></rect>
<text x="306.86" y="169" font-size="10" fill="#ffffaf" text-anchor="middle">Sun</text>
</svg>

After

Width:  |  Height:  |  Size: 3.0 KiB

+32
View File
@@ -0,0 +1,32 @@
<svg xmlns="http://www.w3.org/2000/svg" width="340" height="200" viewBox="0 0 340 200" font-family="'Segoe UI', Ubuntu, Sans-Serif">
<rect x="0.5" y="0.5" width="339" height="199" rx="6" fill="#262626" stroke="#000000" stroke-opacity="0.00"/>
<text x="20" y="30" font-size="15" font-weight="600" fill="#ffffff">Commits by Weekday (last year)</text>
<line x1="35" y1="45" x2="35" y2="155" stroke="#ffffaf"/>
<line x1="31" y1="155" x2="35" y2="155" stroke="#ffffaf"/>
<text x="29" y="158" font-size="10" fill="#ffffaf" text-anchor="end">0</text>
<line x1="31" y1="133" x2="35" y2="133" stroke="#ffffaf"/>
<text x="29" y="136" font-size="10" fill="#ffffaf" text-anchor="end">200</text>
<line x1="31" y1="111" x2="35" y2="111" stroke="#ffffaf"/>
<text x="29" y="114" font-size="10" fill="#ffffaf" text-anchor="end">400</text>
<line x1="31" y1="89" x2="35" y2="89" stroke="#ffffaf"/>
<text x="29" y="92" font-size="10" fill="#ffffaf" text-anchor="end">600</text>
<line x1="31" y1="67" x2="35" y2="67" stroke="#ffffaf"/>
<text x="29" y="70" font-size="10" fill="#ffffaf" text-anchor="end">800</text>
<line x1="31" y1="45" x2="35" y2="45" stroke="#ffffaf"/>
<text x="29" y="48" font-size="10" fill="#ffffaf" text-anchor="end">1k</text>
<line x1="35" y1="155" x2="325" y2="155" stroke="#ffffaf"/>
<rect x="35.00" y="68.43" width="36.29" height="86.57" rx="2" fill="#9d9d9d"><title>Mon — 787 commits</title></rect>
<text x="53.14" y="169" font-size="10" fill="#ffffaf" text-anchor="middle">Mon</text>
<rect x="77.29" y="81.41" width="36.29" height="73.59" rx="2" fill="#9d9d9d"><title>Tue — 669 commits</title></rect>
<text x="95.43" y="169" font-size="10" fill="#ffffaf" text-anchor="middle">Tue</text>
<rect x="119.57" y="74.81" width="36.29" height="80.19" rx="2" fill="#9d9d9d"><title>Wed — 729 commits</title></rect>
<text x="137.71" y="169" font-size="10" fill="#ffffaf" text-anchor="middle">Wed</text>
<rect x="161.86" y="97.58" width="36.29" height="57.42" rx="2" fill="#9d9d9d"><title>Thu — 522 commits</title></rect>
<text x="180.00" y="169" font-size="10" fill="#ffffaf" text-anchor="middle">Thu</text>
<rect x="204.14" y="91.31" width="36.29" height="63.69" rx="2" fill="#9d9d9d"><title>Fri — 579 commits</title></rect>
<text x="222.29" y="169" font-size="10" fill="#ffffaf" text-anchor="middle">Fri</text>
<rect x="246.43" y="51.05" width="36.29" height="103.95" rx="2" fill="#ffffff"><title>Sat — 945 commits</title></rect>
<text x="264.57" y="169" font-size="10" fill="#ffffaf" text-anchor="middle">Sat</text>
<rect x="288.71" y="84.05" width="36.29" height="70.95" rx="2" fill="#9d9d9d"><title>Sun — 645 commits</title></rect>
<text x="306.86" y="169" font-size="10" fill="#ffffaf" text-anchor="middle">Sun</text>
</svg>

After

Width:  |  Height:  |  Size: 2.7 KiB

+16
View File
@@ -0,0 +1,16 @@
<svg xmlns="http://www.w3.org/2000/svg" width="340" height="200" viewBox="0 0 340 200" font-family="'Segoe UI', Ubuntu, Sans-Serif">
<rect x="0.5" y="0.5" width="339" height="199" rx="6" fill="#262626" stroke="#000000" stroke-opacity="0.00"/>
<text x="20" y="30" font-size="15" font-weight="600" fill="#ffffff">tiennm99 (Tien Nguyen Minh)</text>
<g transform="translate(20,50.00) scale(0.750)" fill="#ffffaf"><path fill-rule="evenodd" d="M1.5 14.25c0 .138.112.25.25.25H4v-1.25a.75.75 0 01.75-.75h2.5a.75.75 0 01.75.75v1.25h2.25a.25.25 0 00.25-.25V1.75a.25.25 0 00-.25-.25h-8.5a.25.25 0 00-.25.25v12.5zM1.75 16A1.75 1.75 0 010 14.25V1.75C0 .784.784 0 1.75 0h8.5C11.216 0 12 .784 12 1.75v12.5c0 .085-.006.168-.018.25h2.268a.25.25 0 00.25-.25V8.285a.25.25 0 00-.111-.208l-1.055-.703a.75.75 0 11.832-1.248l1.055.703c.487.325.779.871.779 1.456v5.965A1.75 1.75 0 0114.25 16h-3.5a.75.75 0 01-.197-.026c-.099.017-.2.026-.303.026h-3a.75.75 0 01-.75-.75V14h-1v1.25a.75.75 0 01-.75.75h-3zM3 3.75A.75.75 0 013.75 3h.5a.75.75 0 010 1.5h-.5A.75.75 0 013 3.75zM3.75 6a.75.75 0 000 1.5h.5a.75.75 0 000-1.5h-.5zM3 9.75A.75.75 0 013.75 9h.5a.75.75 0 010 1.5h-.5A.75.75 0 013 9.75zM7.75 9a.75.75 0 000 1.5h.5a.75.75 0 000-1.5h-.5zM7 6.75A.75.75 0 017.75 6h.5a.75.75 0 010 1.5h-.5A.75.75 0 017 6.75zM7.75 3a.75.75 0 000 1.5h.5a.75.75 0 000-1.5h-.5z"/></g>
<text x="40" y="60" font-size="12" fill="#bcbcbc">VNG Corporation</text>
<g transform="translate(20,70.00) scale(0.750)" fill="#ffffaf"><path fill-rule="evenodd" d="M11.536 3.464a5 5 0 010 7.072L8 14.07l-3.536-3.535a5 5 0 117.072-7.072v.001zm1.06 8.132a6.5 6.5 0 10-9.192 0l3.535 3.536a1.5 1.5 0 002.122 0l3.535-3.536zM8 9a2 2 0 100-4 2 2 0 000 4z"/></g>
<text x="40" y="80" font-size="12" fill="#bcbcbc">Ho Chi Minh - Viet Nam</text>
<g transform="translate(20,90.00) scale(0.750)" fill="#ffffaf"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"/></g>
<text x="40" y="100" font-size="12" fill="#bcbcbc">miti99.com</text>
<g transform="translate(20,110.00) scale(0.750)" fill="#ffffaf"><path fill-rule="evenodd" d="M1.5 8a6.5 6.5 0 1113 0 6.5 6.5 0 01-13 0zM8 0a8 8 0 100 16A8 8 0 008 0zm.5 4.75a.75.75 0 00-1.5 0v3.5a.75.75 0 00.471.696l2.5 1a.75.75 0 00.557-1.392L8.5 7.742V4.75z"/></g>
<text x="40" y="120" font-size="12" fill="#bcbcbc">2018-05-07 (8 years ago)</text>
<g transform="translate(20,130.00) scale(0.750)" fill="#ffffaf"><path fill-rule="evenodd" d="M5.5 3.5a2 2 0 100 4 2 2 0 000-4zM2 5.5a3.5 3.5 0 115.898 2.549 5.507 5.507 0 013.034 4.084.75.75 0 11-1.482.235 4.001 4.001 0 00-7.9 0 .75.75 0 01-1.482-.236A5.507 5.507 0 013.102 8.05 3.49 3.49 0 012 5.5zM11 4a.75.75 0 100 1.5 1.5 1.5 0 01.666 2.844.75.75 0 00-.416.672v.352a.75.75 0 00.574.73c1.2.289 2.162 1.2 2.522 2.372a.75.75 0 101.434-.44 5.01 5.01 0 00-2.56-3.012A3 3 0 0011 4z"/></g>
<text x="40" y="140" font-size="12" fill="#bcbcbc">15 followers · 16 following</text>
<g transform="translate(20,150.00) scale(0.750)" fill="#ffffaf"><path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"/></g>
<text x="40" y="160" font-size="12" fill="#bcbcbc">197 repos</text>
</svg>

After

Width:  |  Height:  |  Size: 3.7 KiB

+22
View File
@@ -0,0 +1,22 @@
<svg xmlns="http://www.w3.org/2000/svg" width="340" height="200" viewBox="0 0 340 200" font-family="'Segoe UI', Ubuntu, Sans-Serif">
<rect x="0.5" y="0.5" width="339" height="199" rx="6" fill="#262626" stroke="#000000" stroke-opacity="0.00"/>
<text x="20" y="30" font-size="15" font-weight="600" fill="#ffffff">Records (all time)</text>
<g transform="translate(20,45.00) scale(0.750)" fill="#ffffaf"><path fill-rule="evenodd" d="M10.5 7.75a2.5 2.5 0 11-5 0 2.5 2.5 0 015 0zm1.43.75a4.002 4.002 0 01-7.86 0H.75a.75.75 0 110-1.5h3.32a4.001 4.001 0 017.86 0h3.32a.75.75 0 110 1.5h-3.32z"/></g>
<text x="40" y="55" font-size="12" fill="#bcbcbc">Best day</text>
<text x="320" y="55" font-size="12" font-weight="600" fill="#ffffff" text-anchor="end">228 on 2026-05-09</text>
<g transform="translate(20,65.00) scale(0.750)" fill="#ffffaf"><path fill-rule="evenodd" d="M8 .25a.75.75 0 01.673.418l1.882 3.815 4.21.612a.75.75 0 01.416 1.279l-3.046 2.97.719 4.192a.75.75 0 01-1.088.791L8 12.347l-3.766 1.98a.75.75 0 01-1.088-.79l.72-4.194L.818 6.374a.75.75 0 01.416-1.28l4.21-.611L7.327.668A.75.75 0 018 .25zm0 2.445L6.615 5.5a.75.75 0 01-.564.41l-3.097.45 2.24 2.184a.75.75 0 01.216.664l-.528 3.084 2.769-1.456a.75.75 0 01.698 0l2.77 1.456-.53-3.084a.75.75 0 01.216-.664l2.24-2.183-3.096-.45a.75.75 0 01-.564-.41L8 2.694v.001z"/></g>
<text x="40" y="75" font-size="12" fill="#bcbcbc">Best month</text>
<text x="320" y="75" font-size="12" font-weight="600" fill="#ffffff" text-anchor="end">1,762 in Apr 2026</text>
<g transform="translate(20,85.00) scale(0.750)" fill="#ffffaf"><path fill-rule="evenodd" d="M4.75 0a.75.75 0 01.75.75V2h5V.75a.75.75 0 011.5 0V2h1.25c.966 0 1.75.784 1.75 1.75v10.5A1.75 1.75 0 0113.25 16H2.75A1.75 1.75 0 011 14.25V3.75C1 2.784 1.784 2 2.75 2H4V.75A.75.75 0 014.75 0zm0 3.5h8.5a.25.25 0 01.25.25V6h-11V3.75a.25.25 0 01.25-.25h2zM2.5 7.5v6.75c0 .138.112.25.25.25h10.5a.25.25 0 00.25-.25V7.5h-11z"/></g>
<text x="40" y="95" font-size="12" fill="#bcbcbc">First contribution</text>
<text x="320" y="95" font-size="12" font-weight="600" fill="#ffffff" text-anchor="end">2018-05-08</text>
<g transform="translate(20,105.00) scale(0.750)" fill="#ffffaf"><path d="M1.643 3.143L.427 1.927A.25.25 0 000 2.104V5.75c0 .138.112.25.25.25h3.646a.25.25 0 00.177-.427L2.715 4.215a6.5 6.5 0 11-1.18 4.456.75.75 0 10-1.493.154 8.001 8.001 0 101.6-5.682zM7.75 4a.75.75 0 01.75.75v2.992l2.028.812a.75.75 0 01-.557 1.392l-2.5-1A.75.75 0 017 8.25v-3.5A.75.75 0 017.75 4z"/></g>
<text x="40" y="115" font-size="12" fill="#bcbcbc">Active days</text>
<text x="320" y="115" font-size="12" font-weight="600" fill="#ffffff" text-anchor="end">748</text>
<g transform="translate(20,125.00) scale(0.750)" fill="#ffffaf"><path fill-rule="evenodd" d="M1.5 8a6.5 6.5 0 1113 0 6.5 6.5 0 01-13 0zM8 0a8 8 0 100 16A8 8 0 008 0zm.5 4.75a.75.75 0 00-1.5 0v3.5a.75.75 0 00.471.696l2.5 1a.75.75 0 00.557-1.392L8.5 7.742V4.75z"/></g>
<text x="40" y="135" font-size="12" fill="#bcbcbc">On GitHub</text>
<text x="320" y="135" font-size="12" font-weight="600" fill="#ffffff" text-anchor="end">8.4 years</text>
<g transform="translate(20,145.00) scale(0.750)" fill="#ffffaf"><path fill-rule="evenodd" d="M1.543 7.25h2.733c.144-2.074.866-3.756 1.58-4.948.12-.197.237-.381.353-.552a6.506 6.506 0 00-4.666 5.5zm2.733 1.5H1.543a6.506 6.506 0 004.666 5.5 11.13 11.13 0 01-.352-.552c-.715-1.192-1.437-2.874-1.581-4.948zm1.504 0h4.44a9.637 9.637 0 01-1.363 4.177c-.306.51-.612.919-.857 1.215-.245-.296-.55-.705-.857-1.215A9.638 9.638 0 015.78 8.75zM10.22 7.25H5.78a9.637 9.637 0 011.363-4.177c.306-.51.612-.919.857-1.215.245.296.55.705.857 1.215A9.638 9.638 0 0110.22 7.25zm1.504 1.5c-.144 2.074-.866 3.756-1.58 4.948-.12.197-.237.381-.353.552a6.506 6.506 0 004.666-5.5h-2.733zm2.733-1.5h-2.733c-.144-2.074-.866-3.756-1.58-4.948a11.13 11.13 0 00-.353-.552 6.506 6.506 0 014.666 5.5zM8 0a8 8 0 100 16A8 8 0 008 0z"/></g>
<text x="40" y="155" font-size="12" fill="#bcbcbc">Languages used</text>
<text x="320" y="155" font-size="12" font-weight="600" fill="#ffffff" text-anchor="end">54</text>
</svg>

After

Width:  |  Height:  |  Size: 4.0 KiB

+25
View File
@@ -0,0 +1,25 @@
<svg xmlns="http://www.w3.org/2000/svg" width="340" height="200" viewBox="0 0 340 200" font-family="'Segoe UI', Ubuntu, Sans-Serif">
<rect x="0.5" y="0.5" width="339" height="199" rx="6" fill="#262626" stroke="#000000" stroke-opacity="0.00"/>
<text x="20" y="30" font-size="15" font-weight="600" fill="#ffffff">Repos Per Language</text>
<rect x="20" y="47" width="10" height="10" fill="#f1e05a" stroke="#262626" stroke-width="1"/>
<text x="36" y="55" font-size="11" fill="#bcbcbc">JavaScript 29.71%</text>
<rect x="20" y="67" width="10" height="10" fill="#00ADD8" stroke="#262626" stroke-width="1"/>
<text x="36" y="75" font-size="11" fill="#bcbcbc">Go 16.00%</text>
<rect x="20" y="87" width="10" height="10" fill="#e34c26" stroke="#262626" stroke-width="1"/>
<text x="36" y="95" font-size="11" fill="#bcbcbc">HTML 10.86%</text>
<rect x="20" y="107" width="10" height="10" fill="#3572A5" stroke="#262626" stroke-width="1"/>
<text x="36" y="115" font-size="11" fill="#bcbcbc">Python 10.29%</text>
<rect x="20" y="127" width="10" height="10" fill="#b07219" stroke="#262626" stroke-width="1"/>
<text x="36" y="135" font-size="11" fill="#bcbcbc">Java 8.57%</text>
<rect x="20" y="147" width="10" height="10" fill="#f34b7d" stroke="#262626" stroke-width="1"/>
<text x="36" y="155" font-size="11" fill="#bcbcbc">C++ 4.57%</text>
<rect x="20" y="167" width="10" height="10" fill="#ffffff" stroke="#262626" stroke-width="1"/>
<text x="36" y="175" font-size="11" fill="#bcbcbc">Other 20.00%</text>
<path d="M250.00,55.00 A55.00,55.00 0 0 1 302.60,126.05 L278.69,118.76 A30.00,30.00 0 0 0 250.00,80.00 Z" fill="#f1e05a" stroke="#262626" stroke-width="1.5"/>
<path d="M302.60,126.05 A55.00,55.00 0 0 1 264.63,163.02 L257.98,138.92 A30.00,30.00 0 0 0 278.69,118.76 Z" fill="#00ADD8" stroke="#262626" stroke-width="1.5"/>
<path d="M264.63,163.02 A55.00,55.00 0 0 1 227.93,160.38 L237.96,137.48 A30.00,30.00 0 0 0 257.98,138.92 Z" fill="#e34c26" stroke="#262626" stroke-width="1.5"/>
<path d="M227.93,160.38 A55.00,55.00 0 0 1 202.04,136.93 L223.84,124.69 A30.00,30.00 0 0 0 237.96,137.48 Z" fill="#3572A5" stroke="#262626" stroke-width="1.5"/>
<path d="M202.04,136.93 A55.00,55.00 0 0 1 195.02,108.52 L220.01,109.19 A30.00,30.00 0 0 0 223.84,124.69 Z" fill="#b07219" stroke="#262626" stroke-width="1.5"/>
<path d="M195.02,108.52 A55.00,55.00 0 0 1 197.69,93.00 L221.47,100.73 A30.00,30.00 0 0 0 220.01,109.19 Z" fill="#f34b7d" stroke="#262626" stroke-width="1.5"/>
<path d="M197.69,93.00 A55.00,55.00 0 0 1 250.00,55.00 L250.00,80.00 A30.00,30.00 0 0 0 221.47,100.73 Z" fill="#ffffff" stroke="#262626" stroke-width="1.5"/>
</svg>

After

Width:  |  Height:  |  Size: 2.6 KiB

+25
View File
@@ -0,0 +1,25 @@
<svg xmlns="http://www.w3.org/2000/svg" width="340" height="200" viewBox="0 0 340 200" font-family="'Segoe UI', Ubuntu, Sans-Serif">
<rect x="0.5" y="0.5" width="339" height="199" rx="6" fill="#262626" stroke="#000000" stroke-opacity="0.00"/>
<text x="20" y="30" font-size="15" font-weight="600" fill="#ffffff">Stats</text>
<g transform="translate(20,45.00) scale(0.750)" fill="#ffffaf"><path fill-rule="evenodd" d="M8 .25a.75.75 0 01.673.418l1.882 3.815 4.21.612a.75.75 0 01.416 1.279l-3.046 2.97.719 4.192a.75.75 0 01-1.088.791L8 12.347l-3.766 1.98a.75.75 0 01-1.088-.79l.72-4.194L.818 6.374a.75.75 0 01.416-1.28l4.21-.611L7.327.668A.75.75 0 018 .25zm0 2.445L6.615 5.5a.75.75 0 01-.564.41l-3.097.45 2.24 2.184a.75.75 0 01.216.664l-.528 3.084 2.769-1.456a.75.75 0 01.698 0l2.77 1.456-.53-3.084a.75.75 0 01.216-.664l2.24-2.183-3.096-.45a.75.75 0 01-.564-.41L8 2.694v.001z"/></g>
<text x="40" y="55" font-size="12" fill="#bcbcbc">Total Stars</text>
<text x="320" y="55" font-size="12" font-weight="600" fill="#ffffff" text-anchor="end">12</text>
<g transform="translate(20,65.00) scale(0.750)" fill="#ffffaf"><path fill-rule="evenodd" d="M10.5 7.75a2.5 2.5 0 11-5 0 2.5 2.5 0 015 0zm1.43.75a4.002 4.002 0 01-7.86 0H.75a.75.75 0 110-1.5h3.32a4.001 4.001 0 017.86 0h3.32a.75.75 0 110 1.5h-3.32z"/></g>
<text x="40" y="75" font-size="12" fill="#bcbcbc">Total Commits (all time)</text>
<text x="320" y="75" font-size="12" font-weight="600" fill="#ffffff" text-anchor="end">10,384</text>
<g transform="translate(20,85.00) scale(0.750)" fill="#ffffaf"><path fill-rule="evenodd" d="M10.5 7.75a2.5 2.5 0 11-5 0 2.5 2.5 0 015 0zm1.43.75a4.002 4.002 0 01-7.86 0H.75a.75.75 0 110-1.5h3.32a4.001 4.001 0 017.86 0h3.32a.75.75 0 110 1.5h-3.32z"/></g>
<text x="40" y="95" font-size="12" fill="#bcbcbc">Total Commits (last year)</text>
<text x="320" y="95" font-size="12" font-weight="600" fill="#ffffff" text-anchor="end">8,058</text>
<g transform="translate(20,105.00) scale(0.750)" fill="#ffffaf"><path fill-rule="evenodd" d="M7.177 3.073L9.573.677A.25.25 0 0110 .854v4.792a.25.25 0 01-.427.177L7.177 3.427a.25.25 0 010-.354zM3.75 2.5a.75.75 0 100 1.5.75.75 0 000-1.5zm-2.25.75a2.25 2.25 0 113 2.122v5.256a2.251 2.251 0 11-1.5 0V5.372A2.25 2.25 0 011.5 3.25zM11 2.5h-1V4h1a1 1 0 011 1v5.628a2.251 2.251 0 101.5 0V5A2.5 2.5 0 0011 2.5zm1 10.25a.75.75 0 111.5 0 .75.75 0 01-1.5 0zM3.75 12a.75.75 0 100 1.5.75.75 0 000-1.5z"/></g>
<text x="40" y="115" font-size="12" fill="#bcbcbc">Total PRs</text>
<text x="320" y="115" font-size="12" font-weight="600" fill="#ffffff" text-anchor="end">225</text>
<g transform="translate(20,125.00) scale(0.750)" fill="#ffffaf"><path fill-rule="evenodd" d="M8 1.5a6.5 6.5 0 100 13 6.5 6.5 0 000-13zM0 8a8 8 0 1116 0A8 8 0 010 8zm9 3a1 1 0 11-2 0 1 1 0 012 0zm-.25-6.25a.75.75 0 00-1.5 0v3.5a.75.75 0 001.5 0v-3.5z"/></g>
<text x="40" y="135" font-size="12" fill="#bcbcbc">Total Issues</text>
<text x="320" y="135" font-size="12" font-weight="600" fill="#ffffff" text-anchor="end">13</text>
<g transform="translate(20,145.00) scale(0.750)" fill="#ffffaf"><path fill-rule="evenodd" d="M1.5 2.75a.25.25 0 01.25-.25h12.5a.25.25 0 01.25.25v8.5a.25.25 0 01-.25.25h-6.5a.75.75 0 00-.53.22L4.5 14.44v-2.19a.75.75 0 00-.75-.75h-2a.25.25 0 01-.25-.25v-8.5zM1.75 1A1.75 1.75 0 000 2.75v8.5C0 12.216.784 13 1.75 13H3v1.543a1.457 1.457 0 002.487 1.03L8.061 13h6.189A1.75 1.75 0 0016 11.25v-8.5A1.75 1.75 0 0014.25 1H1.75zm5.03 3.47a.75.75 0 010 1.06L5.31 7l1.47 1.47a.75.75 0 01-1.06 1.06l-2-2a.75.75 0 010-1.06l2-2a.75.75 0 011.06 0zm2.44 0a.75.75 0 000 1.06L10.69 7 9.22 8.47a.75.75 0 001.06 1.06l2-2a.75.75 0 000-1.06l-2-2a.75.75 0 00-1.06 0z"/></g>
<text x="40" y="155" font-size="12" fill="#bcbcbc">Total PR Reviews</text>
<text x="320" y="155" font-size="12" font-weight="600" fill="#ffffff" text-anchor="end">12</text>
<g transform="translate(20,165.00) scale(0.750)" fill="#ffffaf"><path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"/></g>
<text x="40" y="175" font-size="12" fill="#bcbcbc">Contributed to</text>
<text x="320" y="175" font-size="12" font-weight="600" fill="#ffffff" text-anchor="end">90</text>
</svg>

After

Width:  |  Height:  |  Size: 4.4 KiB

+13
View File
@@ -0,0 +1,13 @@
<svg xmlns="http://www.w3.org/2000/svg" width="340" height="200" viewBox="0 0 340 200" font-family="'Segoe UI', Ubuntu, Sans-Serif">
<rect x="0.5" y="0.5" width="339" height="199" rx="6" fill="#262626" stroke="#000000" stroke-opacity="0.00"/>
<text x="20" y="30" font-size="15" font-weight="600" fill="#ffffff">Streak</text>
<text x="56" y="95" font-size="28" font-weight="700" fill="#ffffff" text-anchor="middle">11</text>
<text x="56" y="120" font-size="12" fill="#bcbcbc" text-anchor="middle">Current streak</text>
<text x="56" y="140" font-size="10" fill="#ffffaf" text-anchor="middle">Sep 27 — Oct 7</text>
<text x="169" y="95" font-size="28" font-weight="700" fill="#ffffff" text-anchor="middle">176</text>
<text x="169" y="120" font-size="12" fill="#bcbcbc" text-anchor="middle">Longest streak</text>
<text x="169" y="140" font-size="10" fill="#ffffaf" text-anchor="middle">Mar 30 — Sep 21</text>
<text x="282" y="95" font-size="28" font-weight="700" fill="#ffffff" text-anchor="middle">748</text>
<text x="282" y="120" font-size="12" fill="#bcbcbc" text-anchor="middle">Active days</text>
<text x="282" y="140" font-size="10" fill="#ffffaf" text-anchor="middle">of 3,202 total (23%)</text>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

+39
View File
@@ -0,0 +1,39 @@
<svg xmlns="http://www.w3.org/2000/svg" width="340" height="200" viewBox="0 0 340 200" font-family="'Segoe UI', Ubuntu, Sans-Serif">
<rect x="0.5" y="0.5" width="339" height="199" rx="6" fill="#262626" stroke="#000000" stroke-opacity="0.00"/>
<text x="20" y="30" font-size="15" font-weight="600" fill="#ffffff">Top Starred Repos</text>
<circle cx="24" cy="51" r="4" fill="#00ADD8"/>
<text x="34" y="55" font-size="12" fill="#bcbcbc">awesome-ai-dev-t…</text>
<rect x="150" y="47" width="120" height="10" rx="3" fill="#ffffff" fill-opacity="0.15"/>
<rect x="150" y="47" width="120.00" height="10" rx="3" fill="#ffffff"/>
<text x="334" y="55" font-size="12" font-weight="600" fill="#ffffff" text-anchor="end">3 ★</text>
<circle cx="24" cy="71" r="4" fill="#00ADD8"/>
<text x="34" y="75" font-size="12" fill="#bcbcbc">ghglance</text>
<rect x="150" y="67" width="120" height="10" rx="3" fill="#ffffff" fill-opacity="0.15"/>
<rect x="150" y="67" width="40.00" height="10" rx="3" fill="#ffffff"/>
<text x="334" y="75" font-size="12" font-weight="600" fill="#ffffff" text-anchor="end">1 ★</text>
<circle cx="24" cy="91" r="4" fill="#f1e05a"/>
<text x="34" y="95" font-size="12" fill="#bcbcbc">ai-labs</text>
<rect x="150" y="87" width="120" height="10" rx="3" fill="#ffffff" fill-opacity="0.15"/>
<rect x="150" y="87" width="40.00" height="10" rx="3" fill="#ffffff"/>
<text x="334" y="95" font-size="12" font-weight="600" fill="#ffffff" text-anchor="end">1 ★</text>
<circle cx="24" cy="111" r="4" fill="#e34c26"/>
<text x="34" y="115" font-size="12" fill="#bcbcbc">penny-pincher-pr…</text>
<rect x="150" y="107" width="120" height="10" rx="3" fill="#ffffff" fill-opacity="0.15"/>
<rect x="150" y="107" width="40.00" height="10" rx="3" fill="#ffffff"/>
<text x="334" y="115" font-size="12" font-weight="600" fill="#ffffff" text-anchor="end">1 ★</text>
<circle cx="24" cy="131" r="4" fill="#dea584"/>
<text x="34" y="135" font-size="12" fill="#bcbcbc">time-mocker</text>
<rect x="150" y="127" width="120" height="10" rx="3" fill="#ffffff" fill-opacity="0.15"/>
<rect x="150" y="127" width="40.00" height="10" rx="3" fill="#ffffff"/>
<text x="334" y="135" font-size="12" font-weight="600" fill="#ffffff" text-anchor="end">1 ★</text>
<circle cx="24" cy="151" r="4" fill="#00ADD8"/>
<text x="34" y="155" font-size="12" fill="#bcbcbc">adventofcode</text>
<rect x="150" y="147" width="120" height="10" rx="3" fill="#ffffff" fill-opacity="0.15"/>
<rect x="150" y="147" width="40.00" height="10" rx="3" fill="#ffffff"/>
<text x="334" y="155" font-size="12" font-weight="600" fill="#ffffff" text-anchor="end">1 ★</text>
<circle cx="24" cy="171" r="4" fill="#3572A5"/>
<text x="34" y="175" font-size="12" fill="#bcbcbc">export-telegram-…</text>
<rect x="150" y="167" width="120" height="10" rx="3" fill="#ffffff" fill-opacity="0.15"/>
<rect x="150" y="167" width="40.00" height="10" rx="3" fill="#ffffff"/>
<text x="334" y="175" font-size="12" font-weight="600" fill="#ffffff" text-anchor="end">1 ★</text>
</svg>

After

Width:  |  Height:  |  Size: 3.0 KiB

+21
View File
@@ -0,0 +1,21 @@
# ghglance — aura
[← back to index](../README.md)
Rendered for [`tiennm99`](https://github.com/tiennm99). 16 SVGs laid out to match the author profile README table.
<div align="center">
<table>
<tr><td><img src="./profile-details.svg" alt="profile-details" /></td><td><img src="./stats.svg" alt="stats" /></td></tr>
<tr><td><img src="./repos-per-language.svg" alt="repos-per-language" /></td><td><img src="./top-starred-repos.svg" alt="top-starred-repos" /></td></tr>
<tr><td><img src="./contributions-by-year.svg" alt="contributions-by-year" /></td><td><img src="./contributions-heatmap.svg" alt="contributions-heatmap" /></td></tr>
<tr><td><img src="./records.svg" alt="records" /></td><td><img src="./streak.svg" alt="streak" /></td></tr>
<tr><th>Last year</th><th>All time</th></tr>
<tr><td><img src="./most-commit-language.svg" alt="most-commit-language" /></td><td><img src="./most-commit-language-all-time.svg" alt="most-commit-language-all-time" /></td></tr>
<tr><td><img src="./contributions.svg" alt="contributions" /></td><td><img src="./contributions-all-time.svg" alt="contributions-all-time" /></td></tr>
<tr><td><img src="./productive-weekday.svg" alt="productive-weekday" /></td><td><img src="./productive-weekday-all-time.svg" alt="productive-weekday-all-time" /></td></tr>
<tr><td><img src="./productive-time.svg" alt="productive-time" /></td><td><img src="./productive-time-all-time.svg" alt="productive-time-all-time" /></td></tr>
</table>
</div>
+42
View File
@@ -0,0 +1,42 @@
<svg xmlns="http://www.w3.org/2000/svg" width="340" height="200" viewBox="0 0 340 200" font-family="'Segoe UI', Ubuntu, Sans-Serif">
<rect x="0.5" y="0.5" width="339" height="199" rx="6" fill="#15141b" stroke="#000000" stroke-opacity="0.00"/>
<text x="20" y="30" font-size="15" font-weight="600" fill="#a277ff">Contributions (all time)</text>
<line x1="28" y1="45" x2="28" y2="150" stroke="#ffca85"/>
<line x1="312" y1="45" x2="312" y2="150" stroke="#ffca85"/>
<line x1="24" y1="150" x2="28" y2="150" stroke="#ffca85"/>
<text x="22" y="153" font-size="10" fill="#ffca85" text-anchor="end">0</text>
<line x1="312" y1="150" x2="316" y2="150" stroke="#ffca85"/>
<text x="318" y="153" font-size="10" fill="#ffca85" text-anchor="start">0</text>
<line x1="24" y1="124" x2="28" y2="124" stroke="#ffca85"/>
<text x="22" y="127" font-size="10" fill="#ffca85" text-anchor="end">500</text>
<line x1="312" y1="124" x2="316" y2="124" stroke="#ffca85"/>
<text x="318" y="127" font-size="10" fill="#ffca85" text-anchor="start">500</text>
<line x1="24" y1="98" x2="28" y2="98" stroke="#ffca85"/>
<text x="22" y="101" font-size="10" fill="#ffca85" text-anchor="end">1k</text>
<line x1="312" y1="98" x2="316" y2="98" stroke="#ffca85"/>
<text x="318" y="101" font-size="10" fill="#ffca85" text-anchor="start">1k</text>
<line x1="24" y1="72" x2="28" y2="72" stroke="#ffca85"/>
<text x="22" y="75" font-size="10" fill="#ffca85" text-anchor="end">1.5k</text>
<line x1="312" y1="72" x2="316" y2="72" stroke="#ffca85"/>
<text x="318" y="75" font-size="10" fill="#ffca85" text-anchor="start">1.5k</text>
<line x1="24" y1="45" x2="28" y2="45" stroke="#ffca85"/>
<text x="22" y="48" font-size="10" fill="#ffca85" text-anchor="end">2k</text>
<line x1="312" y1="45" x2="316" y2="45" stroke="#ffca85"/>
<text x="318" y="48" font-size="10" fill="#ffca85" text-anchor="start">2k</text>
<line x1="28" y1="150" x2="312" y2="150" stroke="#ffca85"/>
<line x1="28" y1="150" x2="28" y2="154" stroke="#ffca85"/>
<text x="28" y="166" font-size="10" fill="#ffca85" text-anchor="middle">01/18</text>
<line x1="84" y1="150" x2="84" y2="154" stroke="#ffca85"/>
<text x="84" y="166" font-size="10" fill="#ffca85" text-anchor="middle">10/19</text>
<line x1="141" y1="150" x2="141" y2="154" stroke="#ffca85"/>
<text x="141" y="166" font-size="10" fill="#ffca85" text-anchor="middle">07/21</text>
<line x1="198" y1="150" x2="198" y2="154" stroke="#ffca85"/>
<text x="198" y="166" font-size="10" fill="#ffca85" text-anchor="middle">04/23</text>
<line x1="255" y1="150" x2="255" y2="154" stroke="#ffca85"/>
<text x="255" y="166" font-size="10" fill="#ffca85" text-anchor="middle">01/25</text>
<line x1="312" y1="150" x2="312" y2="154" stroke="#ffca85"/>
<text x="312" y="166" font-size="10" fill="#ffca85" text-anchor="middle">10/26</text>
<path d="M28.00,150.00 C28.45,150.00 29.80,150.00 30.70,150.00 C31.61,150.00 32.51,150.00 33.41,150.00 C34.31,150.00 35.21,150.01 36.11,150.00 C37.02,149.99 37.92,150.13 38.82,149.95 C39.72,149.76 40.62,148.89 41.52,148.90 C42.43,148.91 43.33,149.82 44.23,150.00 C45.13,150.18 46.03,150.03 46.93,150.00 C47.83,149.97 48.74,149.97 49.64,149.79 C50.54,149.61 51.44,148.99 52.34,148.95 C53.24,148.91 54.15,149.35 55.05,149.53 C55.95,149.70 56.85,149.93 57.75,150.00 C58.65,150.07 59.56,149.95 60.46,149.95 C61.36,149.95 62.26,149.99 63.16,150.00 C64.06,150.01 64.97,150.00 65.87,150.00 C66.77,150.00 67.67,150.00 68.57,150.00 C69.47,150.00 70.37,150.00 71.28,150.00 C72.18,150.00 73.08,150.01 73.98,150.00 C74.88,149.99 75.78,150.08 76.69,149.95 C77.59,149.82 78.49,149.20 79.39,149.21 C80.29,149.22 81.19,149.87 82.10,150.00 C83.00,150.13 83.90,150.03 84.80,150.00 C85.70,149.97 86.60,149.84 87.50,149.84 C88.41,149.84 89.31,149.97 90.21,150.00 C91.11,150.03 92.01,150.00 92.91,150.00 C93.82,150.00 94.72,150.05 95.62,150.00 C96.52,149.95 97.42,149.69 98.32,149.69 C99.23,149.69 100.13,149.97 101.03,150.00 C101.93,150.03 102.83,149.95 103.73,149.90 C104.63,149.84 105.54,149.68 106.44,149.69 C107.34,149.69 108.24,150.12 109.14,149.95 C110.04,149.77 110.95,148.63 111.85,148.63 C112.75,148.63 113.65,149.89 114.55,149.95 C115.45,150.00 116.36,148.95 117.26,148.95 C118.16,148.95 119.06,149.77 119.96,149.95 C120.86,150.12 121.77,149.99 122.67,150.00 C123.57,150.01 124.47,150.05 125.37,150.00 C126.27,149.95 127.17,149.80 128.08,149.69 C128.98,149.57 129.88,149.33 130.78,149.32 C131.68,149.31 132.58,149.52 133.49,149.63 C134.39,149.75 135.29,149.94 136.19,150.00 C137.09,150.06 137.99,150.00 138.90,150.00 C139.80,150.00 140.70,150.03 141.60,150.00 C142.50,149.97 143.40,149.89 144.30,149.79 C145.21,149.69 146.11,149.46 147.01,149.42 C147.91,149.39 148.81,149.48 149.71,149.58 C150.62,149.68 151.52,149.94 152.42,150.00 C153.32,150.06 154.22,149.98 155.12,149.95 C156.03,149.91 156.93,149.86 157.83,149.79 C158.73,149.72 159.63,149.59 160.53,149.53 C161.43,149.47 162.34,149.41 163.24,149.42 C164.14,149.43 165.04,149.48 165.94,149.58 C166.84,149.68 167.75,150.11 168.65,150.00 C169.55,149.89 170.45,149.14 171.35,148.95 C172.25,148.76 173.16,148.68 174.06,148.84 C174.96,149.01 175.86,149.92 176.76,149.95 C177.66,149.97 178.57,149.36 179.47,149.00 C180.37,148.64 181.27,148.36 182.17,147.79 C183.07,147.23 183.97,146.16 184.88,145.59 C185.78,145.02 186.68,143.65 187.58,144.38 C188.48,145.12 189.38,149.33 190.29,150.00 C191.19,150.67 192.09,148.74 192.99,148.43 C193.89,148.11 194.79,148.03 195.70,148.11 C196.60,148.19 197.50,149.06 198.40,148.90 C199.30,148.73 200.20,147.24 201.10,147.11 C202.01,146.99 202.91,147.80 203.81,148.16 C204.71,148.52 205.61,149.45 206.51,149.26 C207.42,149.08 208.32,148.48 209.22,147.06 C210.12,145.64 211.02,140.82 211.92,140.76 C212.83,140.70 213.73,145.26 214.63,146.69 C215.53,148.13 216.43,149.02 217.33,149.37 C218.23,149.72 219.14,148.70 220.04,148.79 C220.94,148.89 221.84,149.75 222.74,149.95 C223.64,150.15 224.55,150.24 225.45,150.00 C226.35,149.76 227.25,149.80 228.15,148.53 C229.05,147.26 229.96,142.87 230.86,142.39 C231.76,141.91 232.66,144.51 233.56,145.64 C234.46,146.77 235.37,148.50 236.27,149.16 C237.17,149.82 238.07,149.86 238.97,149.63 C239.87,149.41 240.77,148.17 241.68,147.79 C242.58,147.42 243.48,147.53 244.38,147.38 C245.28,147.22 246.18,146.57 247.09,146.85 C247.99,147.13 248.89,148.75 249.79,149.06 C250.69,149.36 251.59,148.65 252.50,148.69 C253.40,148.72 254.30,150.03 255.20,149.26 C256.10,148.49 257.00,145.09 257.90,144.07 C258.81,143.04 259.71,143.47 260.61,143.12 C261.51,142.77 262.41,142.48 263.31,141.97 C264.22,141.45 265.12,139.37 266.02,140.03 C266.92,140.68 267.82,144.86 268.72,145.91 C269.63,146.95 270.53,146.56 271.43,146.32 C272.33,146.09 273.23,144.44 274.13,144.49 C275.03,144.53 275.94,146.96 276.84,146.59 C277.74,146.22 278.64,144.73 279.54,142.28 C280.44,139.83 281.35,132.50 282.25,131.89 C283.15,131.27 284.05,135.94 284.95,138.61 C285.85,141.28 286.76,147.71 287.66,147.90 C288.56,148.09 289.46,144.62 290.36,139.76 C291.26,134.91 292.17,132.47 293.07,118.76 C293.97,105.05 294.87,64.85 295.77,57.50 C296.67,50.14 297.57,64.62 298.48,74.61 C299.38,84.60 300.28,113.99 301.18,117.45 C302.08,120.91 302.98,96.41 303.89,95.35 C304.79,94.29 305.69,108.64 306.59,111.10 C307.49,113.56 308.39,107.32 309.30,110.10 C310.20,112.88 311.55,124.84 312.00,127.79 L312.00,150.00 L28.00,150.00 Z" fill="#a277ff" fill-opacity="0.25" stroke="none"/>
<path d="M28.00,150.00 C28.45,150.00 29.80,150.00 30.70,150.00 C31.61,150.00 32.51,150.00 33.41,150.00 C34.31,150.00 35.21,150.01 36.11,150.00 C37.02,149.99 37.92,150.13 38.82,149.95 C39.72,149.76 40.62,148.89 41.52,148.90 C42.43,148.91 43.33,149.82 44.23,150.00 C45.13,150.18 46.03,150.03 46.93,150.00 C47.83,149.97 48.74,149.97 49.64,149.79 C50.54,149.61 51.44,148.99 52.34,148.95 C53.24,148.91 54.15,149.35 55.05,149.53 C55.95,149.70 56.85,149.93 57.75,150.00 C58.65,150.07 59.56,149.95 60.46,149.95 C61.36,149.95 62.26,149.99 63.16,150.00 C64.06,150.01 64.97,150.00 65.87,150.00 C66.77,150.00 67.67,150.00 68.57,150.00 C69.47,150.00 70.37,150.00 71.28,150.00 C72.18,150.00 73.08,150.01 73.98,150.00 C74.88,149.99 75.78,150.08 76.69,149.95 C77.59,149.82 78.49,149.20 79.39,149.21 C80.29,149.22 81.19,149.87 82.10,150.00 C83.00,150.13 83.90,150.03 84.80,150.00 C85.70,149.97 86.60,149.84 87.50,149.84 C88.41,149.84 89.31,149.97 90.21,150.00 C91.11,150.03 92.01,150.00 92.91,150.00 C93.82,150.00 94.72,150.05 95.62,150.00 C96.52,149.95 97.42,149.69 98.32,149.69 C99.23,149.69 100.13,149.97 101.03,150.00 C101.93,150.03 102.83,149.95 103.73,149.90 C104.63,149.84 105.54,149.68 106.44,149.69 C107.34,149.69 108.24,150.12 109.14,149.95 C110.04,149.77 110.95,148.63 111.85,148.63 C112.75,148.63 113.65,149.89 114.55,149.95 C115.45,150.00 116.36,148.95 117.26,148.95 C118.16,148.95 119.06,149.77 119.96,149.95 C120.86,150.12 121.77,149.99 122.67,150.00 C123.57,150.01 124.47,150.05 125.37,150.00 C126.27,149.95 127.17,149.80 128.08,149.69 C128.98,149.57 129.88,149.33 130.78,149.32 C131.68,149.31 132.58,149.52 133.49,149.63 C134.39,149.75 135.29,149.94 136.19,150.00 C137.09,150.06 137.99,150.00 138.90,150.00 C139.80,150.00 140.70,150.03 141.60,150.00 C142.50,149.97 143.40,149.89 144.30,149.79 C145.21,149.69 146.11,149.46 147.01,149.42 C147.91,149.39 148.81,149.48 149.71,149.58 C150.62,149.68 151.52,149.94 152.42,150.00 C153.32,150.06 154.22,149.98 155.12,149.95 C156.03,149.91 156.93,149.86 157.83,149.79 C158.73,149.72 159.63,149.59 160.53,149.53 C161.43,149.47 162.34,149.41 163.24,149.42 C164.14,149.43 165.04,149.48 165.94,149.58 C166.84,149.68 167.75,150.11 168.65,150.00 C169.55,149.89 170.45,149.14 171.35,148.95 C172.25,148.76 173.16,148.68 174.06,148.84 C174.96,149.01 175.86,149.92 176.76,149.95 C177.66,149.97 178.57,149.36 179.47,149.00 C180.37,148.64 181.27,148.36 182.17,147.79 C183.07,147.23 183.97,146.16 184.88,145.59 C185.78,145.02 186.68,143.65 187.58,144.38 C188.48,145.12 189.38,149.33 190.29,150.00 C191.19,150.67 192.09,148.74 192.99,148.43 C193.89,148.11 194.79,148.03 195.70,148.11 C196.60,148.19 197.50,149.06 198.40,148.90 C199.30,148.73 200.20,147.24 201.10,147.11 C202.01,146.99 202.91,147.80 203.81,148.16 C204.71,148.52 205.61,149.45 206.51,149.26 C207.42,149.08 208.32,148.48 209.22,147.06 C210.12,145.64 211.02,140.82 211.92,140.76 C212.83,140.70 213.73,145.26 214.63,146.69 C215.53,148.13 216.43,149.02 217.33,149.37 C218.23,149.72 219.14,148.70 220.04,148.79 C220.94,148.89 221.84,149.75 222.74,149.95 C223.64,150.15 224.55,150.24 225.45,150.00 C226.35,149.76 227.25,149.80 228.15,148.53 C229.05,147.26 229.96,142.87 230.86,142.39 C231.76,141.91 232.66,144.51 233.56,145.64 C234.46,146.77 235.37,148.50 236.27,149.16 C237.17,149.82 238.07,149.86 238.97,149.63 C239.87,149.41 240.77,148.17 241.68,147.79 C242.58,147.42 243.48,147.53 244.38,147.38 C245.28,147.22 246.18,146.57 247.09,146.85 C247.99,147.13 248.89,148.75 249.79,149.06 C250.69,149.36 251.59,148.65 252.50,148.69 C253.40,148.72 254.30,150.03 255.20,149.26 C256.10,148.49 257.00,145.09 257.90,144.07 C258.81,143.04 259.71,143.47 260.61,143.12 C261.51,142.77 262.41,142.48 263.31,141.97 C264.22,141.45 265.12,139.37 266.02,140.03 C266.92,140.68 267.82,144.86 268.72,145.91 C269.63,146.95 270.53,146.56 271.43,146.32 C272.33,146.09 273.23,144.44 274.13,144.49 C275.03,144.53 275.94,146.96 276.84,146.59 C277.74,146.22 278.64,144.73 279.54,142.28 C280.44,139.83 281.35,132.50 282.25,131.89 C283.15,131.27 284.05,135.94 284.95,138.61 C285.85,141.28 286.76,147.71 287.66,147.90 C288.56,148.09 289.46,144.62 290.36,139.76 C291.26,134.91 292.17,132.47 293.07,118.76 C293.97,105.05 294.87,64.85 295.77,57.50 C296.67,50.14 297.57,64.62 298.48,74.61 C299.38,84.60 300.28,113.99 301.18,117.45 C302.08,120.91 302.98,96.41 303.89,95.35 C304.79,94.29 305.69,108.64 306.59,111.10 C307.49,113.56 308.39,107.32 309.30,110.10 C310.20,112.88 311.55,124.84 312.00,127.79" fill="none" stroke="#a277ff" stroke-width="2"/>
<text x="170" y="184" font-size="11" fill="#ffca85" text-anchor="middle">mm/yy</text>
</svg>

After

Width:  |  Height:  |  Size: 12 KiB

+30
View File
@@ -0,0 +1,30 @@
<svg xmlns="http://www.w3.org/2000/svg" width="340" height="200" viewBox="0 0 340 200" font-family="'Segoe UI', Ubuntu, Sans-Serif">
<rect x="0.5" y="0.5" width="339" height="199" rx="6" fill="#15141b" stroke="#000000" stroke-opacity="0.00"/>
<text x="20" y="30" font-size="15" font-weight="600" fill="#a277ff">Contributions by Year</text>
<line x1="35" y1="45" x2="35" y2="155" stroke="#ffca85"/>
<line x1="31" y1="155" x2="35" y2="155" stroke="#ffca85"/>
<text x="29" y="158" font-size="10" fill="#ffca85" text-anchor="end">0</text>
<line x1="31" y1="128" x2="35" y2="128" stroke="#ffca85"/>
<text x="29" y="131" font-size="10" fill="#ffca85" text-anchor="end">2k</text>
<line x1="31" y1="100" x2="35" y2="100" stroke="#ffca85"/>
<text x="29" y="103" font-size="10" fill="#ffca85" text-anchor="end">4k</text>
<line x1="31" y1="73" x2="35" y2="73" stroke="#ffca85"/>
<text x="29" y="76" font-size="10" fill="#ffca85" text-anchor="end">6k</text>
<line x1="31" y1="45" x2="35" y2="45" stroke="#ffca85"/>
<text x="29" y="48" font-size="10" fill="#ffca85" text-anchor="end">8k</text>
<line x1="35" y1="155" x2="325" y2="155" stroke="#ffca85"/>
<rect x="35.00" y="154.24" width="30.44" height="0.76" rx="2" fill="#624a98"><title>2018 — 55 commits</title></rect>
<text x="50.22" y="169" font-size="10" fill="#ffca85" text-anchor="middle">2018</text>
<rect x="67.44" y="154.72" width="30.44" height="0.28" rx="2" fill="#624a98"><title>2019 — 20 commits</title></rect>
<rect x="99.89" y="154.13" width="30.44" height="0.87" rx="2" fill="#624a98"><title>2020 — 63 commits</title></rect>
<text x="115.11" y="169" font-size="10" fill="#ffca85" text-anchor="middle">2020</text>
<rect x="132.33" y="154.31" width="30.44" height="0.69" rx="2" fill="#624a98"><title>2021 — 50 commits</title></rect>
<rect x="164.78" y="150.50" width="30.44" height="4.50" rx="2" fill="#624a98"><title>2022 — 327 commits</title></rect>
<text x="180.00" y="169" font-size="10" fill="#ffca85" text-anchor="middle">2022</text>
<rect x="197.22" y="147.84" width="30.44" height="7.16" rx="2" fill="#624a98"><title>2023 — 521 commits</title></rect>
<rect x="229.67" y="148.47" width="30.44" height="6.53" rx="2" fill="#624a98"><title>2024 — 475 commits</title></rect>
<text x="244.89" y="169" font-size="10" fill="#ffca85" text-anchor="middle">2024</text>
<rect x="262.11" y="132.62" width="30.44" height="22.39" rx="2" fill="#624a98"><title>2025 — 1628 commits</title></rect>
<rect x="294.56" y="50.32" width="30.44" height="104.68" rx="2" fill="#a277ff"><title>2026 — 7613 commits</title></rect>
<text x="309.78" y="169" font-size="10" fill="#ffca85" text-anchor="middle">2026</text>
</svg>

After

Width:  |  Height:  |  Size: 2.7 KiB

+391
View File
@@ -0,0 +1,391 @@
<svg xmlns="http://www.w3.org/2000/svg" width="340" height="200" viewBox="0 0 340 200" font-family="'Segoe UI', Ubuntu, Sans-Serif">
<rect x="0.5" y="0.5" width="339" height="199" rx="6" fill="#15141b" stroke="#000000" stroke-opacity="0.00"/>
<text x="20" y="30" font-size="15" font-weight="600" fill="#a277ff">Contributions (last year)</text>
<text x="26" y="61" font-size="10" fill="#ffca85" text-anchor="end">Tue</text>
<text x="26" y="79" font-size="10" fill="#ffca85" text-anchor="end">Thu</text>
<text x="26" y="97" font-size="10" fill="#ffca85" text-anchor="end">Sat</text>
<text x="39" y="41" font-size="10" fill="#ffca85">Oct</text>
<text x="75" y="41" font-size="10" fill="#ffca85">Nov</text>
<text x="111" y="41" font-size="10" fill="#ffca85">Dec</text>
<text x="156" y="41" font-size="10" fill="#ffca85">Jan</text>
<text x="192" y="41" font-size="10" fill="#ffca85">Feb</text>
<text x="228" y="41" font-size="10" fill="#ffca85">Mar</text>
<rect x="30" y="99" width="8" height="8" rx="1.5" fill="#382c54"><title>2025-10-05 — 14</title></rect>
<rect x="39" y="45" width="8" height="8" rx="1.5" fill="#382c54"><title>2025-10-06 — 4</title></rect>
<rect x="39" y="54" width="8" height="8" rx="1.5" fill="#382c54"><title>2025-10-07 — 14</title></rect>
<rect x="39" y="63" width="8" height="8" rx="1.5" fill="#382c54"><title>2025-10-08 — 14</title></rect>
<rect x="39" y="72" width="8" height="8" rx="1.5" fill="#15141b"><title>2025-10-09 — 0</title></rect>
<rect x="39" y="81" width="8" height="8" rx="1.5" fill="#15141b"><title>2025-10-10 — 0</title></rect>
<rect x="39" y="90" width="8" height="8" rx="1.5" fill="#382c54"><title>2025-10-11 — 15</title></rect>
<rect x="39" y="99" width="8" height="8" rx="1.5" fill="#382c54"><title>2025-10-12 — 3</title></rect>
<rect x="48" y="45" width="8" height="8" rx="1.5" fill="#382c54"><title>2025-10-13 — 2</title></rect>
<rect x="48" y="54" width="8" height="8" rx="1.5" fill="#15141b"><title>2025-10-14 — 0</title></rect>
<rect x="48" y="63" width="8" height="8" rx="1.5" fill="#15141b"><title>2025-10-15 — 0</title></rect>
<rect x="48" y="72" width="8" height="8" rx="1.5" fill="#15141b"><title>2025-10-16 — 0</title></rect>
<rect x="48" y="81" width="8" height="8" rx="1.5" fill="#15141b"><title>2025-10-17 — 0</title></rect>
<rect x="48" y="90" width="8" height="8" rx="1.5" fill="#15141b"><title>2025-10-18 — 0</title></rect>
<rect x="48" y="99" width="8" height="8" rx="1.5" fill="#382c54"><title>2025-10-19 — 6</title></rect>
<rect x="57" y="45" width="8" height="8" rx="1.5" fill="#382c54"><title>2025-10-20 — 5</title></rect>
<rect x="57" y="54" width="8" height="8" rx="1.5" fill="#382c54"><title>2025-10-21 — 4</title></rect>
<rect x="57" y="63" width="8" height="8" rx="1.5" fill="#382c54"><title>2025-10-22 — 5</title></rect>
<rect x="57" y="72" width="8" height="8" rx="1.5" fill="#382c54"><title>2025-10-23 — 2</title></rect>
<rect x="57" y="81" width="8" height="8" rx="1.5" fill="#15141b"><title>2025-10-24 — 0</title></rect>
<rect x="57" y="90" width="8" height="8" rx="1.5" fill="#382c54"><title>2025-10-25 — 29</title></rect>
<rect x="57" y="99" width="8" height="8" rx="1.5" fill="#382c54"><title>2025-10-26 — 4</title></rect>
<rect x="66" y="45" width="8" height="8" rx="1.5" fill="#15141b"><title>2025-10-27 — 0</title></rect>
<rect x="66" y="54" width="8" height="8" rx="1.5" fill="#382c54"><title>2025-10-28 — 1</title></rect>
<rect x="66" y="63" width="8" height="8" rx="1.5" fill="#382c54"><title>2025-10-29 — 2</title></rect>
<rect x="66" y="72" width="8" height="8" rx="1.5" fill="#382c54"><title>2025-10-30 — 1</title></rect>
<rect x="66" y="81" width="8" height="8" rx="1.5" fill="#15141b"><title>2025-10-31 — 0</title></rect>
<rect x="66" y="90" width="8" height="8" rx="1.5" fill="#15141b"><title>2025-11-01 — 0</title></rect>
<rect x="66" y="99" width="8" height="8" rx="1.5" fill="#15141b"><title>2025-11-02 — 0</title></rect>
<rect x="75" y="45" width="8" height="8" rx="1.5" fill="#15141b"><title>2025-11-03 — 0</title></rect>
<rect x="75" y="54" width="8" height="8" rx="1.5" fill="#382c54"><title>2025-11-04 — 5</title></rect>
<rect x="75" y="63" width="8" height="8" rx="1.5" fill="#382c54"><title>2025-11-05 — 9</title></rect>
<rect x="75" y="72" width="8" height="8" rx="1.5" fill="#382c54"><title>2025-11-06 — 9</title></rect>
<rect x="75" y="81" width="8" height="8" rx="1.5" fill="#382c54"><title>2025-11-07 — 38</title></rect>
<rect x="75" y="90" width="8" height="8" rx="1.5" fill="#382c54"><title>2025-11-08 — 20</title></rect>
<rect x="75" y="99" width="8" height="8" rx="1.5" fill="#382c54"><title>2025-11-09 — 8</title></rect>
<rect x="84" y="45" width="8" height="8" rx="1.5" fill="#382c54"><title>2025-11-10 — 8</title></rect>
<rect x="84" y="54" width="8" height="8" rx="1.5" fill="#382c54"><title>2025-11-11 — 9</title></rect>
<rect x="84" y="63" width="8" height="8" rx="1.5" fill="#382c54"><title>2025-11-12 — 4</title></rect>
<rect x="84" y="72" width="8" height="8" rx="1.5" fill="#382c54"><title>2025-11-13 — 24</title></rect>
<rect x="84" y="81" width="8" height="8" rx="1.5" fill="#382c54"><title>2025-11-14 — 52</title></rect>
<rect x="84" y="90" width="8" height="8" rx="1.5" fill="#382c54"><title>2025-11-15 — 17</title></rect>
<rect x="84" y="99" width="8" height="8" rx="1.5" fill="#15141b"><title>2025-11-16 — 0</title></rect>
<rect x="93" y="45" width="8" height="8" rx="1.5" fill="#382c54"><title>2025-11-17 — 2</title></rect>
<rect x="93" y="54" width="8" height="8" rx="1.5" fill="#382c54"><title>2025-11-18 — 4</title></rect>
<rect x="93" y="63" width="8" height="8" rx="1.5" fill="#382c54"><title>2025-11-19 — 14</title></rect>
<rect x="93" y="72" width="8" height="8" rx="1.5" fill="#382c54"><title>2025-11-20 — 3</title></rect>
<rect x="93" y="81" width="8" height="8" rx="1.5" fill="#15141b"><title>2025-11-21 — 0</title></rect>
<rect x="93" y="90" width="8" height="8" rx="1.5" fill="#382c54"><title>2025-11-22 — 3</title></rect>
<rect x="93" y="99" width="8" height="8" rx="1.5" fill="#382c54"><title>2025-11-23 — 1</title></rect>
<rect x="102" y="45" width="8" height="8" rx="1.5" fill="#382c54"><title>2025-11-24 — 8</title></rect>
<rect x="102" y="54" width="8" height="8" rx="1.5" fill="#382c54"><title>2025-11-25 — 2</title></rect>
<rect x="102" y="63" width="8" height="8" rx="1.5" fill="#382c54"><title>2025-11-26 — 14</title></rect>
<rect x="102" y="72" width="8" height="8" rx="1.5" fill="#382c54"><title>2025-11-27 — 32</title></rect>
<rect x="102" y="81" width="8" height="8" rx="1.5" fill="#382c54"><title>2025-11-28 — 21</title></rect>
<rect x="102" y="90" width="8" height="8" rx="1.5" fill="#382c54"><title>2025-11-29 — 24</title></rect>
<rect x="102" y="99" width="8" height="8" rx="1.5" fill="#382c54"><title>2025-11-30 — 14</title></rect>
<rect x="111" y="45" width="8" height="8" rx="1.5" fill="#382c54"><title>2025-12-01 — 8</title></rect>
<rect x="111" y="54" width="8" height="8" rx="1.5" fill="#382c54"><title>2025-12-02 — 5</title></rect>
<rect x="111" y="63" width="8" height="8" rx="1.5" fill="#382c54"><title>2025-12-03 — 17</title></rect>
<rect x="111" y="72" width="8" height="8" rx="1.5" fill="#382c54"><title>2025-12-04 — 25</title></rect>
<rect x="111" y="81" width="8" height="8" rx="1.5" fill="#382c54"><title>2025-12-05 — 4</title></rect>
<rect x="111" y="90" width="8" height="8" rx="1.5" fill="#382c54"><title>2025-12-06 — 30</title></rect>
<rect x="111" y="99" width="8" height="8" rx="1.5" fill="#382c54"><title>2025-12-07 — 5</title></rect>
<rect x="120" y="45" width="8" height="8" rx="1.5" fill="#382c54"><title>2025-12-08 — 5</title></rect>
<rect x="120" y="54" width="8" height="8" rx="1.5" fill="#382c54"><title>2025-12-09 — 5</title></rect>
<rect x="120" y="63" width="8" height="8" rx="1.5" fill="#382c54"><title>2025-12-10 — 7</title></rect>
<rect x="120" y="72" width="8" height="8" rx="1.5" fill="#382c54"><title>2025-12-11 — 14</title></rect>
<rect x="120" y="81" width="8" height="8" rx="1.5" fill="#382c54"><title>2025-12-12 — 2</title></rect>
<rect x="120" y="90" width="8" height="8" rx="1.5" fill="#382c54"><title>2025-12-13 — 2</title></rect>
<rect x="120" y="99" width="8" height="8" rx="1.5" fill="#382c54"><title>2025-12-14 — 2</title></rect>
<rect x="129" y="45" width="8" height="8" rx="1.5" fill="#382c54"><title>2025-12-15 — 16</title></rect>
<rect x="129" y="54" width="8" height="8" rx="1.5" fill="#382c54"><title>2025-12-16 — 6</title></rect>
<rect x="129" y="63" width="8" height="8" rx="1.5" fill="#15141b"><title>2025-12-17 — 0</title></rect>
<rect x="129" y="72" width="8" height="8" rx="1.5" fill="#15141b"><title>2025-12-18 — 0</title></rect>
<rect x="129" y="81" width="8" height="8" rx="1.5" fill="#15141b"><title>2025-12-19 — 0</title></rect>
<rect x="129" y="90" width="8" height="8" rx="1.5" fill="#382c54"><title>2025-12-20 — 2</title></rect>
<rect x="129" y="99" width="8" height="8" rx="1.5" fill="#382c54"><title>2025-12-21 — 36</title></rect>
<rect x="138" y="45" width="8" height="8" rx="1.5" fill="#15141b"><title>2025-12-22 — 0</title></rect>
<rect x="138" y="54" width="8" height="8" rx="1.5" fill="#382c54"><title>2025-12-23 — 2</title></rect>
<rect x="138" y="63" width="8" height="8" rx="1.5" fill="#15141b"><title>2025-12-24 — 0</title></rect>
<rect x="138" y="72" width="8" height="8" rx="1.5" fill="#15141b"><title>2025-12-25 — 0</title></rect>
<rect x="138" y="81" width="8" height="8" rx="1.5" fill="#15141b"><title>2025-12-26 — 0</title></rect>
<rect x="138" y="90" width="8" height="8" rx="1.5" fill="#382c54"><title>2025-12-27 — 2</title></rect>
<rect x="138" y="99" width="8" height="8" rx="1.5" fill="#382c54"><title>2025-12-28 — 4</title></rect>
<rect x="147" y="45" width="8" height="8" rx="1.5" fill="#15141b"><title>2025-12-29 — 0</title></rect>
<rect x="147" y="54" width="8" height="8" rx="1.5" fill="#382c54"><title>2025-12-30 — 18</title></rect>
<rect x="147" y="63" width="8" height="8" rx="1.5" fill="#15141b"><title>2025-12-31 — 0</title></rect>
<rect x="147" y="72" width="8" height="8" rx="1.5" fill="#15141b"><title>2026-01-01 — 0</title></rect>
<rect x="147" y="81" width="8" height="8" rx="1.5" fill="#15141b"><title>2026-01-02 — 0</title></rect>
<rect x="147" y="90" width="8" height="8" rx="1.5" fill="#15141b"><title>2026-01-03 — 0</title></rect>
<rect x="147" y="99" width="8" height="8" rx="1.5" fill="#15141b"><title>2026-01-04 — 0</title></rect>
<rect x="156" y="45" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-01-05 — 2</title></rect>
<rect x="156" y="54" width="8" height="8" rx="1.5" fill="#15141b"><title>2026-01-06 — 0</title></rect>
<rect x="156" y="63" width="8" height="8" rx="1.5" fill="#15141b"><title>2026-01-07 — 0</title></rect>
<rect x="156" y="72" width="8" height="8" rx="1.5" fill="#15141b"><title>2026-01-08 — 0</title></rect>
<rect x="156" y="81" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-01-09 — 9</title></rect>
<rect x="156" y="90" width="8" height="8" rx="1.5" fill="#15141b"><title>2026-01-10 — 0</title></rect>
<rect x="156" y="99" width="8" height="8" rx="1.5" fill="#15141b"><title>2026-01-11 — 0</title></rect>
<rect x="165" y="45" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-01-12 — 1</title></rect>
<rect x="165" y="54" width="8" height="8" rx="1.5" fill="#15141b"><title>2026-01-13 — 0</title></rect>
<rect x="165" y="63" width="8" height="8" rx="1.5" fill="#15141b"><title>2026-01-14 — 0</title></rect>
<rect x="165" y="72" width="8" height="8" rx="1.5" fill="#15141b"><title>2026-01-15 — 0</title></rect>
<rect x="165" y="81" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-01-16 — 1</title></rect>
<rect x="165" y="90" width="8" height="8" rx="1.5" fill="#15141b"><title>2026-01-17 — 0</title></rect>
<rect x="165" y="99" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-01-18 — 4</title></rect>
<rect x="174" y="45" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-01-19 — 4</title></rect>
<rect x="174" y="54" width="8" height="8" rx="1.5" fill="#15141b"><title>2026-01-20 — 0</title></rect>
<rect x="174" y="63" width="8" height="8" rx="1.5" fill="#15141b"><title>2026-01-21 — 0</title></rect>
<rect x="174" y="72" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-01-22 — 6</title></rect>
<rect x="174" y="81" width="8" height="8" rx="1.5" fill="#15141b"><title>2026-01-23 — 0</title></rect>
<rect x="174" y="90" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-01-24 — 2</title></rect>
<rect x="174" y="99" width="8" height="8" rx="1.5" fill="#15141b"><title>2026-01-25 — 0</title></rect>
<rect x="183" y="45" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-01-26 — 1</title></rect>
<rect x="183" y="54" width="8" height="8" rx="1.5" fill="#15141b"><title>2026-01-27 — 0</title></rect>
<rect x="183" y="63" width="8" height="8" rx="1.5" fill="#15141b"><title>2026-01-28 — 0</title></rect>
<rect x="183" y="72" width="8" height="8" rx="1.5" fill="#15141b"><title>2026-01-29 — 0</title></rect>
<rect x="183" y="81" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-01-30 — 10</title></rect>
<rect x="183" y="90" width="8" height="8" rx="1.5" fill="#15141b"><title>2026-01-31 — 0</title></rect>
<rect x="183" y="99" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-02-01 — 2</title></rect>
<rect x="192" y="45" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-02-02 — 2</title></rect>
<rect x="192" y="54" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-02-03 — 2</title></rect>
<rect x="192" y="63" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-02-04 — 1</title></rect>
<rect x="192" y="72" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-02-05 — 9</title></rect>
<rect x="192" y="81" width="8" height="8" rx="1.5" fill="#15141b"><title>2026-02-06 — 0</title></rect>
<rect x="192" y="90" width="8" height="8" rx="1.5" fill="#15141b"><title>2026-02-07 — 0</title></rect>
<rect x="192" y="99" width="8" height="8" rx="1.5" fill="#15141b"><title>2026-02-08 — 0</title></rect>
<rect x="201" y="45" width="8" height="8" rx="1.5" fill="#15141b"><title>2026-02-09 — 0</title></rect>
<rect x="201" y="54" width="8" height="8" rx="1.5" fill="#15141b"><title>2026-02-10 — 0</title></rect>
<rect x="201" y="63" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-02-11 — 1</title></rect>
<rect x="201" y="72" width="8" height="8" rx="1.5" fill="#15141b"><title>2026-02-12 — 0</title></rect>
<rect x="201" y="81" width="8" height="8" rx="1.5" fill="#15141b"><title>2026-02-13 — 0</title></rect>
<rect x="201" y="90" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-02-14 — 2</title></rect>
<rect x="201" y="99" width="8" height="8" rx="1.5" fill="#15141b"><title>2026-02-15 — 0</title></rect>
<rect x="210" y="45" width="8" height="8" rx="1.5" fill="#15141b"><title>2026-02-16 — 0</title></rect>
<rect x="210" y="54" width="8" height="8" rx="1.5" fill="#15141b"><title>2026-02-17 — 0</title></rect>
<rect x="210" y="63" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-02-18 — 2</title></rect>
<rect x="210" y="72" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-02-19 — 2</title></rect>
<rect x="210" y="81" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-02-20 — 49</title></rect>
<rect x="210" y="90" width="8" height="8" rx="1.5" fill="#15141b"><title>2026-02-21 — 0</title></rect>
<rect x="210" y="99" width="8" height="8" rx="1.5" fill="#15141b"><title>2026-02-22 — 0</title></rect>
<rect x="219" y="45" width="8" height="8" rx="1.5" fill="#15141b"><title>2026-02-23 — 0</title></rect>
<rect x="219" y="54" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-02-24 — 2</title></rect>
<rect x="219" y="63" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-02-25 — 38</title></rect>
<rect x="219" y="72" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-02-26 — 18</title></rect>
<rect x="219" y="81" width="8" height="8" rx="1.5" fill="#5b458d"><title>2026-02-27 — 63</title></rect>
<rect x="219" y="90" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-02-28 — 2</title></rect>
<rect x="219" y="99" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-03-01 — 2</title></rect>
<rect x="228" y="45" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-03-02 — 2</title></rect>
<rect x="228" y="54" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-03-03 — 39</title></rect>
<rect x="228" y="63" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-03-04 — 24</title></rect>
<rect x="228" y="72" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-03-05 — 10</title></rect>
<rect x="228" y="81" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-03-06 — 12</title></rect>
<rect x="228" y="90" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-03-07 — 43</title></rect>
<rect x="228" y="99" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-03-08 — 45</title></rect>
<rect x="237" y="45" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-03-09 — 30</title></rect>
<rect x="237" y="54" width="8" height="8" rx="1.5" fill="#5b458d"><title>2026-03-10 — 66</title></rect>
<rect x="237" y="63" width="8" height="8" rx="1.5" fill="#7e5ec6"><title>2026-03-11 — 150</title></rect>
<rect x="237" y="72" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-03-12 — 50</title></rect>
<rect x="237" y="81" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-03-13 — 4</title></rect>
<rect x="237" y="90" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-03-14 — 2</title></rect>
<rect x="237" y="99" width="8" height="8" rx="1.5" fill="#15141b"><title>2026-03-15 — 0</title></rect>
<rect x="246" y="45" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-03-16 — 3</title></rect>
<rect x="246" y="54" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-03-17 — 20</title></rect>
<rect x="246" y="63" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-03-18 — 10</title></rect>
<rect x="246" y="72" width="8" height="8" rx="1.5" fill="#15141b"><title>2026-03-19 — 0</title></rect>
<rect x="246" y="81" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-03-20 — 2</title></rect>
<rect x="246" y="90" width="8" height="8" rx="1.5" fill="#15141b"><title>2026-03-21 — 0</title></rect>
<rect x="246" y="99" width="8" height="8" rx="1.5" fill="#15141b"><title>2026-03-22 — 0</title></rect>
<rect x="255" y="45" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-03-23 — 2</title></rect>
<rect x="255" y="54" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-03-24 — 4</title></rect>
<rect x="255" y="63" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-03-25 — 26</title></rect>
<rect x="255" y="72" width="8" height="8" rx="1.5" fill="#15141b"><title>2026-03-26 — 0</title></rect>
<rect x="255" y="81" width="8" height="8" rx="1.5" fill="#15141b"><title>2026-03-27 — 0</title></rect>
<rect x="255" y="90" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-03-28 — 2</title></rect>
<rect x="255" y="99" width="8" height="8" rx="1.5" fill="#15141b"><title>2026-03-29 — 0</title></rect>
<rect x="264" y="45" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-03-30 — 24</title></rect>
<rect x="264" y="54" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-03-31 — 23</title></rect>
<rect x="264" y="63" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-04-01 — 17</title></rect>
<rect x="264" y="72" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-04-02 — 8</title></rect>
<rect x="264" y="81" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-04-03 — 22</title></rect>
<rect x="264" y="90" width="8" height="8" rx="1.5" fill="#5b458d"><title>2026-04-04 — 76</title></rect>
<rect x="264" y="99" width="8" height="8" rx="1.5" fill="#5b458d"><title>2026-04-05 — 76</title></rect>
<text x="26" y="136" font-size="10" fill="#ffca85" text-anchor="end">Tue</text>
<text x="26" y="154" font-size="10" fill="#ffca85" text-anchor="end">Thu</text>
<text x="26" y="172" font-size="10" fill="#ffca85" text-anchor="end">Sat</text>
<text x="30" y="116" font-size="10" fill="#ffca85">Apr</text>
<text x="66" y="116" font-size="10" fill="#ffca85">May</text>
<text x="102" y="116" font-size="10" fill="#ffca85">Jun</text>
<text x="147" y="116" font-size="10" fill="#ffca85">Jul</text>
<text x="183" y="116" font-size="10" fill="#ffca85">Aug</text>
<text x="228" y="116" font-size="10" fill="#ffca85">Sep</text>
<text x="264" y="116" font-size="10" fill="#ffca85">Oct</text>
<rect x="30" y="120" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-04-06 — 55</title></rect>
<rect x="30" y="129" width="8" height="8" rx="1.5" fill="#5b458d"><title>2026-04-07 — 72</title></rect>
<rect x="30" y="138" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-04-08 — 14</title></rect>
<rect x="30" y="147" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-04-09 — 25</title></rect>
<rect x="30" y="156" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-04-10 — 2</title></rect>
<rect x="30" y="165" width="8" height="8" rx="1.5" fill="#5b458d"><title>2026-04-11 — 60</title></rect>
<rect x="30" y="174" width="8" height="8" rx="1.5" fill="#5b458d"><title>2026-04-12 — 84</title></rect>
<rect x="39" y="120" width="8" height="8" rx="1.5" fill="#5b458d"><title>2026-04-13 — 82</title></rect>
<rect x="39" y="129" width="8" height="8" rx="1.5" fill="#5b458d"><title>2026-04-14 — 94</title></rect>
<rect x="39" y="138" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-04-15 — 14</title></rect>
<rect x="39" y="147" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-04-16 — 29</title></rect>
<rect x="39" y="156" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-04-17 — 19</title></rect>
<rect x="39" y="165" width="8" height="8" rx="1.5" fill="#a277ff"><title>2026-04-18 — 195</title></rect>
<rect x="39" y="174" width="8" height="8" rx="1.5" fill="#5b458d"><title>2026-04-19 — 111</title></rect>
<rect x="48" y="120" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-04-20 — 46</title></rect>
<rect x="48" y="129" width="8" height="8" rx="1.5" fill="#5b458d"><title>2026-04-21 — 84</title></rect>
<rect x="48" y="138" width="8" height="8" rx="1.5" fill="#5b458d"><title>2026-04-22 — 72</title></rect>
<rect x="48" y="147" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-04-23 — 30</title></rect>
<rect x="48" y="156" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-04-24 — 50</title></rect>
<rect x="48" y="165" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-04-25 — 43</title></rect>
<rect x="48" y="174" width="8" height="8" rx="1.5" fill="#5b458d"><title>2026-04-26 — 101</title></rect>
<rect x="57" y="120" width="8" height="8" rx="1.5" fill="#5b458d"><title>2026-04-27 — 105</title></rect>
<rect x="57" y="129" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-04-28 — 45</title></rect>
<rect x="57" y="138" width="8" height="8" rx="1.5" fill="#5b458d"><title>2026-04-29 — 78</title></rect>
<rect x="57" y="147" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-04-30 — 53</title></rect>
<rect x="57" y="156" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-05-01 — 13</title></rect>
<rect x="57" y="165" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-05-02 — 2</title></rect>
<rect x="57" y="174" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-05-03 — 25</title></rect>
<rect x="66" y="120" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-05-04 — 2</title></rect>
<rect x="66" y="129" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-05-05 — 30</title></rect>
<rect x="66" y="138" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-05-06 — 5</title></rect>
<rect x="66" y="147" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-05-07 — 44</title></rect>
<rect x="66" y="156" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-05-08 — 43</title></rect>
<rect x="66" y="165" width="8" height="8" rx="1.5" fill="#a277ff"><title>2026-05-09 — 228</title></rect>
<rect x="66" y="174" width="8" height="8" rx="1.5" fill="#7e5ec6"><title>2026-05-10 — 133</title></rect>
<rect x="75" y="120" width="8" height="8" rx="1.5" fill="#a277ff"><title>2026-05-11 — 181</title></rect>
<rect x="75" y="129" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-05-12 — 1</title></rect>
<rect x="75" y="138" width="8" height="8" rx="1.5" fill="#7e5ec6"><title>2026-05-13 — 136</title></rect>
<rect x="75" y="147" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-05-14 — 17</title></rect>
<rect x="75" y="156" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-05-15 — 46</title></rect>
<rect x="75" y="165" width="8" height="8" rx="1.5" fill="#5b458d"><title>2026-05-16 — 74</title></rect>
<rect x="75" y="174" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-05-17 — 29</title></rect>
<rect x="84" y="120" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-05-18 — 56</title></rect>
<rect x="84" y="129" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-05-19 — 10</title></rect>
<rect x="84" y="138" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-05-20 — 8</title></rect>
<rect x="84" y="147" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-05-21 — 6</title></rect>
<rect x="84" y="156" width="8" height="8" rx="1.5" fill="#5b458d"><title>2026-05-22 — 69</title></rect>
<rect x="84" y="165" width="8" height="8" rx="1.5" fill="#7e5ec6"><title>2026-05-23 — 166</title></rect>
<rect x="84" y="174" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-05-24 — 24</title></rect>
<rect x="93" y="120" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-05-25 — 30</title></rect>
<rect x="93" y="129" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-05-26 — 2</title></rect>
<rect x="93" y="138" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-05-27 — 8</title></rect>
<rect x="93" y="147" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-05-28 — 19</title></rect>
<rect x="93" y="156" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-05-29 — 5</title></rect>
<rect x="93" y="165" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-05-30 — 21</title></rect>
<rect x="93" y="174" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-05-31 — 3</title></rect>
<rect x="102" y="120" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-06-01 — 26</title></rect>
<rect x="102" y="129" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-06-02 — 12</title></rect>
<rect x="102" y="138" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-06-03 — 8</title></rect>
<rect x="102" y="147" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-06-04 — 45</title></rect>
<rect x="102" y="156" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-06-05 — 33</title></rect>
<rect x="102" y="165" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-06-06 — 3</title></rect>
<rect x="102" y="174" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-06-07 — 3</title></rect>
<rect x="111" y="120" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-06-08 — 16</title></rect>
<rect x="111" y="129" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-06-09 — 8</title></rect>
<rect x="111" y="138" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-06-10 — 18</title></rect>
<rect x="111" y="147" width="8" height="8" rx="1.5" fill="#5b458d"><title>2026-06-11 — 60</title></rect>
<rect x="111" y="156" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-06-12 — 32</title></rect>
<rect x="111" y="165" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-06-13 — 8</title></rect>
<rect x="111" y="174" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-06-14 — 8</title></rect>
<rect x="120" y="120" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-06-15 — 33</title></rect>
<rect x="120" y="129" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-06-16 — 4</title></rect>
<rect x="120" y="138" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-06-17 — 12</title></rect>
<rect x="120" y="147" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-06-18 — 2</title></rect>
<rect x="120" y="156" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-06-19 — 9</title></rect>
<rect x="120" y="165" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-06-20 — 9</title></rect>
<rect x="120" y="174" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-06-21 — 10</title></rect>
<rect x="129" y="120" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-06-22 — 5</title></rect>
<rect x="129" y="129" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-06-23 — 4</title></rect>
<rect x="129" y="138" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-06-24 — 8</title></rect>
<rect x="129" y="147" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-06-25 — 32</title></rect>
<rect x="129" y="156" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-06-26 — 12</title></rect>
<rect x="129" y="165" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-06-27 — 19</title></rect>
<rect x="129" y="174" width="8" height="8" rx="1.5" fill="#7e5ec6"><title>2026-06-28 — 130</title></rect>
<rect x="138" y="120" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-06-29 — 40</title></rect>
<rect x="138" y="129" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-06-30 — 11</title></rect>
<rect x="138" y="138" width="8" height="8" rx="1.5" fill="#5b458d"><title>2026-07-01 — 61</title></rect>
<rect x="138" y="147" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-07-02 — 15</title></rect>
<rect x="138" y="156" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-07-03 — 37</title></rect>
<rect x="138" y="165" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-07-04 — 9</title></rect>
<rect x="138" y="174" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-07-05 — 6</title></rect>
<rect x="147" y="120" width="8" height="8" rx="1.5" fill="#5b458d"><title>2026-07-06 — 90</title></rect>
<rect x="147" y="129" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-07-07 — 35</title></rect>
<rect x="147" y="138" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-07-08 — 6</title></rect>
<rect x="147" y="147" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-07-09 — 35</title></rect>
<rect x="147" y="156" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-07-10 — 8</title></rect>
<rect x="147" y="165" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-07-11 — 6</title></rect>
<rect x="147" y="174" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-07-12 — 3</title></rect>
<rect x="156" y="120" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-07-13 — 3</title></rect>
<rect x="156" y="129" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-07-14 — 32</title></rect>
<rect x="156" y="138" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-07-15 — 17</title></rect>
<rect x="156" y="147" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-07-16 — 17</title></rect>
<rect x="156" y="156" width="8" height="8" rx="1.5" fill="#5b458d"><title>2026-07-17 — 98</title></rect>
<rect x="156" y="165" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-07-18 — 42</title></rect>
<rect x="156" y="174" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-07-19 — 14</title></rect>
<rect x="165" y="120" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-07-20 — 28</title></rect>
<rect x="165" y="129" width="8" height="8" rx="1.5" fill="#7e5ec6"><title>2026-07-21 — 125</title></rect>
<rect x="165" y="138" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-07-22 — 39</title></rect>
<rect x="165" y="147" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-07-23 — 35</title></rect>
<rect x="165" y="156" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-07-24 — 14</title></rect>
<rect x="165" y="165" width="8" height="8" rx="1.5" fill="#a277ff"><title>2026-07-25 — 176</title></rect>
<rect x="165" y="174" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-07-26 — 44</title></rect>
<rect x="174" y="120" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-07-27 — 2</title></rect>
<rect x="174" y="129" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-07-28 — 2</title></rect>
<rect x="174" y="138" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-07-29 — 23</title></rect>
<rect x="174" y="147" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-07-30 — 17</title></rect>
<rect x="174" y="156" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-07-31 — 2</title></rect>
<rect x="174" y="165" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-08-01 — 12</title></rect>
<rect x="174" y="174" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-08-02 — 1</title></rect>
<rect x="183" y="120" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-08-03 — 13</title></rect>
<rect x="183" y="129" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-08-04 — 30</title></rect>
<rect x="183" y="138" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-08-05 — 25</title></rect>
<rect x="183" y="147" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-08-06 — 19</title></rect>
<rect x="183" y="156" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-08-07 — 13</title></rect>
<rect x="183" y="165" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-08-08 — 34</title></rect>
<rect x="183" y="174" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-08-09 — 18</title></rect>
<rect x="192" y="120" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-08-10 — 14</title></rect>
<rect x="192" y="129" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-08-11 — 11</title></rect>
<rect x="192" y="138" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-08-12 — 14</title></rect>
<rect x="192" y="147" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-08-13 — 42</title></rect>
<rect x="192" y="156" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-08-14 — 56</title></rect>
<rect x="192" y="165" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-08-15 — 2</title></rect>
<rect x="192" y="174" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-08-16 — 6</title></rect>
<rect x="201" y="120" width="8" height="8" rx="1.5" fill="#5b458d"><title>2026-08-17 — 93</title></rect>
<rect x="201" y="129" width="8" height="8" rx="1.5" fill="#7e5ec6"><title>2026-08-18 — 122</title></rect>
<rect x="201" y="138" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-08-19 — 18</title></rect>
<rect x="201" y="147" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-08-20 — 11</title></rect>
<rect x="201" y="156" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-08-21 — 1</title></rect>
<rect x="201" y="165" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-08-22 — 4</title></rect>
<rect x="201" y="174" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-08-23 — 1</title></rect>
<rect x="210" y="120" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-08-24 — 8</title></rect>
<rect x="210" y="129" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-08-25 — 47</title></rect>
<rect x="210" y="138" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-08-26 — 2</title></rect>
<rect x="210" y="147" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-08-27 — 15</title></rect>
<rect x="210" y="156" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-08-28 — 18</title></rect>
<rect x="210" y="165" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-08-29 — 8</title></rect>
<rect x="210" y="174" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-08-30 — 36</title></rect>
<rect x="219" y="120" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-08-31 — 47</title></rect>
<rect x="219" y="129" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-09-01 — 38</title></rect>
<rect x="219" y="138" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-09-02 — 14</title></rect>
<rect x="219" y="147" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-09-03 — 13</title></rect>
<rect x="219" y="156" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-09-04 — 27</title></rect>
<rect x="219" y="165" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-09-05 — 12</title></rect>
<rect x="219" y="174" width="8" height="8" rx="1.5" fill="#5b458d"><title>2026-09-06 — 75</title></rect>
<rect x="228" y="120" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-09-07 — 12</title></rect>
<rect x="228" y="129" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-09-08 — 32</title></rect>
<rect x="228" y="138" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-09-09 — 22</title></rect>
<rect x="228" y="147" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-09-10 — 16</title></rect>
<rect x="228" y="156" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-09-11 — 22</title></rect>
<rect x="228" y="165" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-09-12 — 2</title></rect>
<rect x="228" y="174" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-09-13 — 4</title></rect>
<rect x="237" y="120" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-09-14 — 2</title></rect>
<rect x="237" y="129" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-09-15 — 14</title></rect>
<rect x="237" y="138" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-09-16 — 40</title></rect>
<rect x="237" y="147" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-09-17 — 11</title></rect>
<rect x="237" y="156" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-09-18 — 51</title></rect>
<rect x="237" y="165" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-09-19 — 15</title></rect>
<rect x="237" y="174" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-09-20 — 18</title></rect>
<rect x="246" y="120" width="8" height="8" rx="1.5" fill="#5b458d"><title>2026-09-21 — 107</title></rect>
<rect x="246" y="129" width="8" height="8" rx="1.5" fill="#15141b"><title>2026-09-22 — 0</title></rect>
<rect x="246" y="138" width="8" height="8" rx="1.5" fill="#15141b"><title>2026-09-23 — 0</title></rect>
<rect x="246" y="147" width="8" height="8" rx="1.5" fill="#15141b"><title>2026-09-24 — 0</title></rect>
<rect x="246" y="156" width="8" height="8" rx="1.5" fill="#15141b"><title>2026-09-25 — 0</title></rect>
<rect x="246" y="165" width="8" height="8" rx="1.5" fill="#15141b"><title>2026-09-26 — 0</title></rect>
<rect x="246" y="174" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-09-27 — 6</title></rect>
<rect x="255" y="120" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-09-28 — 41</title></rect>
<rect x="255" y="129" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-09-29 — 54</title></rect>
<rect x="255" y="138" width="8" height="8" rx="1.5" fill="#5b458d"><title>2026-09-30 — 112</title></rect>
<rect x="255" y="147" width="8" height="8" rx="1.5" fill="#5b458d"><title>2026-10-01 — 93</title></rect>
<rect x="255" y="156" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-10-02 — 36</title></rect>
<rect x="255" y="165" width="8" height="8" rx="1.5" fill="#5b458d"><title>2026-10-03 — 111</title></rect>
<rect x="255" y="174" width="8" height="8" rx="1.5" fill="#5b458d"><title>2026-10-04 — 78</title></rect>
<rect x="264" y="120" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-10-05 — 26</title></rect>
<rect x="264" y="129" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-10-06 — 35</title></rect>
<rect x="264" y="138" width="8" height="8" rx="1.5" fill="#382c54"><title>2026-10-07 — 44</title></rect>
</svg>

After

Width:  |  Height:  |  Size: 40 KiB

+44
View File
@@ -0,0 +1,44 @@
<svg xmlns="http://www.w3.org/2000/svg" width="340" height="200" viewBox="0 0 340 200" font-family="'Segoe UI', Ubuntu, Sans-Serif">
<rect x="0.5" y="0.5" width="339" height="199" rx="6" fill="#15141b" stroke="#000000" stroke-opacity="0.00"/>
<text x="20" y="30" font-size="15" font-weight="600" fill="#a277ff">Contributions (last year)</text>
<line x1="28" y1="45" x2="28" y2="150" stroke="#ffca85"/>
<line x1="312" y1="45" x2="312" y2="150" stroke="#ffca85"/>
<line x1="24" y1="150" x2="28" y2="150" stroke="#ffca85"/>
<text x="22" y="153" font-size="10" fill="#ffca85" text-anchor="end">0</text>
<line x1="312" y1="150" x2="316" y2="150" stroke="#ffca85"/>
<text x="318" y="153" font-size="10" fill="#ffca85" text-anchor="start">0</text>
<line x1="24" y1="124" x2="28" y2="124" stroke="#ffca85"/>
<text x="22" y="127" font-size="10" fill="#ffca85" text-anchor="end">500</text>
<line x1="312" y1="124" x2="316" y2="124" stroke="#ffca85"/>
<text x="318" y="127" font-size="10" fill="#ffca85" text-anchor="start">500</text>
<line x1="24" y1="98" x2="28" y2="98" stroke="#ffca85"/>
<text x="22" y="101" font-size="10" fill="#ffca85" text-anchor="end">1k</text>
<line x1="312" y1="98" x2="316" y2="98" stroke="#ffca85"/>
<text x="318" y="101" font-size="10" fill="#ffca85" text-anchor="start">1k</text>
<line x1="24" y1="72" x2="28" y2="72" stroke="#ffca85"/>
<text x="22" y="75" font-size="10" fill="#ffca85" text-anchor="end">1.5k</text>
<line x1="312" y1="72" x2="316" y2="72" stroke="#ffca85"/>
<text x="318" y="75" font-size="10" fill="#ffca85" text-anchor="start">1.5k</text>
<line x1="24" y1="45" x2="28" y2="45" stroke="#ffca85"/>
<text x="22" y="48" font-size="10" fill="#ffca85" text-anchor="end">2k</text>
<line x1="312" y1="45" x2="316" y2="45" stroke="#ffca85"/>
<text x="318" y="48" font-size="10" fill="#ffca85" text-anchor="start">2k</text>
<line x1="28" y1="150" x2="312" y2="150" stroke="#ffca85"/>
<line x1="28" y1="150" x2="28" y2="154" stroke="#ffca85"/>
<text x="28" y="166" font-size="10" fill="#ffca85" text-anchor="middle">10/25</text>
<line x1="75" y1="150" x2="75" y2="154" stroke="#ffca85"/>
<text x="75" y="166" font-size="10" fill="#ffca85" text-anchor="middle">12/25</text>
<line x1="122" y1="150" x2="122" y2="154" stroke="#ffca85"/>
<text x="122" y="166" font-size="10" fill="#ffca85" text-anchor="middle">02/26</text>
<line x1="170" y1="150" x2="170" y2="154" stroke="#ffca85"/>
<text x="170" y="166" font-size="10" fill="#ffca85" text-anchor="middle">04/26</text>
<line x1="217" y1="150" x2="217" y2="154" stroke="#ffca85"/>
<text x="217" y="166" font-size="10" fill="#ffca85" text-anchor="middle">06/26</text>
<line x1="264" y1="150" x2="264" y2="154" stroke="#ffca85"/>
<text x="264" y="166" font-size="10" fill="#ffca85" text-anchor="middle">08/26</text>
<line x1="312" y1="150" x2="312" y2="154" stroke="#ffca85"/>
<text x="312" y="166" font-size="10" fill="#ffca85" text-anchor="middle">10/26</text>
<path d="M28.00,143.44 C31.94,141.51 43.78,132.69 51.67,131.89 C59.56,131.08 67.44,135.94 75.33,138.61 C83.22,141.28 91.11,147.71 99.00,147.90 C106.89,148.09 114.78,144.62 122.67,139.76 C130.56,134.91 138.44,132.47 146.33,118.76 C154.22,105.05 162.11,64.85 170.00,57.50 C177.89,50.14 185.78,64.62 193.67,74.61 C201.56,84.60 209.44,113.99 217.33,117.45 C225.22,120.91 233.11,96.41 241.00,95.35 C248.89,94.29 256.78,108.64 264.67,111.10 C272.56,113.56 280.44,107.32 288.33,110.10 C296.22,112.88 308.06,124.84 312.00,127.79 L312.00,150.00 L28.00,150.00 Z" fill="#a277ff" fill-opacity="0.25" stroke="none"/>
<path d="M28.00,143.44 C31.94,141.51 43.78,132.69 51.67,131.89 C59.56,131.08 67.44,135.94 75.33,138.61 C83.22,141.28 91.11,147.71 99.00,147.90 C106.89,148.09 114.78,144.62 122.67,139.76 C130.56,134.91 138.44,132.47 146.33,118.76 C154.22,105.05 162.11,64.85 170.00,57.50 C177.89,50.14 185.78,64.62 193.67,74.61 C201.56,84.60 209.44,113.99 217.33,117.45 C225.22,120.91 233.11,96.41 241.00,95.35 C248.89,94.29 256.78,108.64 264.67,111.10 C272.56,113.56 280.44,107.32 288.33,110.10 C296.22,112.88 308.06,124.84 312.00,127.79" fill="none" stroke="#a277ff" stroke-width="2"/>
<text x="170" y="184" font-size="11" fill="#ffca85" text-anchor="middle">mm/yy</text>
</svg>

After

Width:  |  Height:  |  Size: 4.2 KiB

@@ -0,0 +1,25 @@
<svg xmlns="http://www.w3.org/2000/svg" width="340" height="200" viewBox="0 0 340 200" font-family="'Segoe UI', Ubuntu, Sans-Serif">
<rect x="0.5" y="0.5" width="339" height="199" rx="6" fill="#15141b" stroke="#000000" stroke-opacity="0.00"/>
<text x="20" y="30" font-size="15" font-weight="600" fill="#a277ff">Most Commit Language (all time)</text>
<rect x="20" y="47" width="10" height="10" fill="#f1e05a" stroke="#15141b" stroke-width="1"/>
<text x="36" y="55" font-size="11" fill="#61ffca">JavaScript 34.64%</text>
<rect x="20" y="67" width="10" height="10" fill="#00ADD8" stroke="#15141b" stroke-width="1"/>
<text x="36" y="75" font-size="11" fill="#61ffca">Go 22.80%</text>
<rect x="20" y="87" width="10" height="10" fill="#e34c26" stroke="#15141b" stroke-width="1"/>
<text x="36" y="95" font-size="11" fill="#61ffca">HTML 9.74%</text>
<rect x="20" y="107" width="10" height="10" fill="#b07219" stroke="#15141b" stroke-width="1"/>
<text x="36" y="115" font-size="11" fill="#61ffca">Java 6.55%</text>
<rect x="20" y="127" width="10" height="10" fill="#3572A5" stroke="#15141b" stroke-width="1"/>
<text x="36" y="135" font-size="11" fill="#61ffca">Python 5.08%</text>
<rect x="20" y="147" width="10" height="10" fill="#89e051" stroke="#15141b" stroke-width="1"/>
<text x="36" y="155" font-size="11" fill="#61ffca">Shell 4.09%</text>
<rect x="20" y="167" width="10" height="10" fill="#a277ff" stroke="#15141b" stroke-width="1"/>
<text x="36" y="175" font-size="11" fill="#61ffca">Other 17.09%</text>
<path d="M250.00,55.00 A55.00,55.00 0 0 1 295.22,141.31 L274.67,127.08 A30.00,30.00 0 0 0 250.00,80.00 Z" fill="#f1e05a" stroke="#15141b" stroke-width="1.5"/>
<path d="M295.22,141.31 A55.00,55.00 0 0 1 225.24,159.11 L236.49,136.79 A30.00,30.00 0 0 0 274.67,127.08 Z" fill="#00ADD8" stroke="#15141b" stroke-width="1.5"/>
<path d="M225.24,159.11 A55.00,55.00 0 0 1 201.51,135.96 L223.55,124.16 A30.00,30.00 0 0 0 236.49,136.79 Z" fill="#e34c26" stroke="#15141b" stroke-width="1.5"/>
<path d="M201.51,135.96 A55.00,55.00 0 0 1 195.17,114.38 L220.10,112.39 A30.00,30.00 0 0 0 223.55,124.16 Z" fill="#b07219" stroke="#15141b" stroke-width="1.5"/>
<path d="M195.17,114.38 A55.00,55.00 0 0 1 196.57,96.94 L220.86,102.88 A30.00,30.00 0 0 0 220.10,112.39 Z" fill="#3572A5" stroke="#15141b" stroke-width="1.5"/>
<path d="M196.57,96.94 A55.00,55.00 0 0 1 201.65,83.79 L223.63,95.70 A30.00,30.00 0 0 0 220.86,102.88 Z" fill="#89e051" stroke="#15141b" stroke-width="1.5"/>
<path d="M201.65,83.79 A55.00,55.00 0 0 1 250.00,55.00 L250.00,80.00 A30.00,30.00 0 0 0 223.63,95.70 Z" fill="#a277ff" stroke="#15141b" stroke-width="1.5"/>
</svg>

After

Width:  |  Height:  |  Size: 2.6 KiB

+25
View File
@@ -0,0 +1,25 @@
<svg xmlns="http://www.w3.org/2000/svg" width="340" height="200" viewBox="0 0 340 200" font-family="'Segoe UI', Ubuntu, Sans-Serif">
<rect x="0.5" y="0.5" width="339" height="199" rx="6" fill="#15141b" stroke="#000000" stroke-opacity="0.00"/>
<text x="20" y="30" font-size="15" font-weight="600" fill="#a277ff">Most Commit Language (last year)</text>
<rect x="20" y="47" width="10" height="10" fill="#f1e05a" stroke="#15141b" stroke-width="1"/>
<text x="36" y="55" font-size="11" fill="#61ffca">JavaScript 37.51%</text>
<rect x="20" y="67" width="10" height="10" fill="#00ADD8" stroke="#15141b" stroke-width="1"/>
<text x="36" y="75" font-size="11" fill="#61ffca">Go 28.78%</text>
<rect x="20" y="87" width="10" height="10" fill="#e34c26" stroke="#15141b" stroke-width="1"/>
<text x="36" y="95" font-size="11" fill="#61ffca">HTML 6.29%</text>
<rect x="20" y="107" width="10" height="10" fill="#3572A5" stroke="#15141b" stroke-width="1"/>
<text x="36" y="115" font-size="11" fill="#61ffca">Python 5.54%</text>
<rect x="20" y="127" width="10" height="10" fill="#ff3e00" stroke="#15141b" stroke-width="1"/>
<text x="36" y="135" font-size="11" fill="#61ffca">Svelte 4.01%</text>
<rect x="20" y="147" width="10" height="10" fill="#89e051" stroke="#15141b" stroke-width="1"/>
<text x="36" y="155" font-size="11" fill="#61ffca">Shell 3.76%</text>
<rect x="20" y="167" width="10" height="10" fill="#a277ff" stroke="#15141b" stroke-width="1"/>
<text x="36" y="175" font-size="11" fill="#61ffca">Other 14.11%</text>
<path d="M250.00,55.00 A55.00,55.00 0 0 1 288.86,148.92 L271.20,131.23 A30.00,30.00 0 0 0 250.00,80.00 Z" fill="#f1e05a" stroke="#15141b" stroke-width="1.5"/>
<path d="M288.86,148.92 A55.00,55.00 0 0 1 203.03,138.62 L224.38,125.61 A30.00,30.00 0 0 0 271.20,131.23 Z" fill="#00ADD8" stroke="#15141b" stroke-width="1.5"/>
<path d="M203.03,138.62 A55.00,55.00 0 0 1 195.63,118.32 L220.35,114.54 A30.00,30.00 0 0 0 224.38,125.61 Z" fill="#e34c26" stroke="#15141b" stroke-width="1.5"/>
<path d="M195.63,118.32 A55.00,55.00 0 0 1 196.06,99.27 L220.58,104.15 A30.00,30.00 0 0 0 220.35,114.54 Z" fill="#3572A5" stroke="#15141b" stroke-width="1.5"/>
<path d="M196.06,99.27 A55.00,55.00 0 0 1 200.43,86.17 L222.96,97.00 A30.00,30.00 0 0 0 220.58,104.15 Z" fill="#ff3e00" stroke="#15141b" stroke-width="1.5"/>
<path d="M200.43,86.17 A55.00,55.00 0 0 1 207.37,75.24 L226.75,91.04 A30.00,30.00 0 0 0 222.96,97.00 Z" fill="#89e051" stroke="#15141b" stroke-width="1.5"/>
<path d="M207.37,75.24 A55.00,55.00 0 0 1 250.00,55.00 L250.00,80.00 A30.00,30.00 0 0 0 226.75,91.04 Z" fill="#a277ff" stroke="#15141b" stroke-width="1.5"/>
</svg>

After

Width:  |  Height:  |  Size: 2.6 KiB

+55
View File
@@ -0,0 +1,55 @@
<svg xmlns="http://www.w3.org/2000/svg" width="340" height="200" viewBox="0 0 340 200" font-family="'Segoe UI', Ubuntu, Sans-Serif">
<rect x="0.5" y="0.5" width="339" height="199" rx="6" fill="#15141b" stroke="#000000" stroke-opacity="0.00"/>
<text x="20" y="30" font-size="15" font-weight="600" fill="#a277ff">Commits by Hour (all time, UTC+7)</text>
<line x1="35" y1="45" x2="35" y2="155" stroke="#ffca85"/>
<line x1="31" y1="155" x2="35" y2="155" stroke="#ffca85"/>
<text x="29" y="158" font-size="10" fill="#ffca85" text-anchor="end">0</text>
<line x1="31" y1="137" x2="35" y2="137" stroke="#ffca85"/>
<text x="29" y="140" font-size="10" fill="#ffca85" text-anchor="end">100</text>
<line x1="31" y1="119" x2="35" y2="119" stroke="#ffca85"/>
<text x="29" y="122" font-size="10" fill="#ffca85" text-anchor="end">200</text>
<line x1="31" y1="100" x2="35" y2="100" stroke="#ffca85"/>
<text x="29" y="103" font-size="10" fill="#ffca85" text-anchor="end">300</text>
<line x1="31" y1="82" x2="35" y2="82" stroke="#ffca85"/>
<text x="29" y="85" font-size="10" fill="#ffca85" text-anchor="end">400</text>
<line x1="31" y1="64" x2="35" y2="64" stroke="#ffca85"/>
<text x="29" y="67" font-size="10" fill="#ffca85" text-anchor="end">500</text>
<line x1="31" y1="45" x2="35" y2="45" stroke="#ffca85"/>
<text x="29" y="48" font-size="10" fill="#ffca85" text-anchor="end">600</text>
<line x1="35" y1="155" x2="325" y2="155" stroke="#ffca85"/>
<line x1="40" y1="155" x2="40" y2="159" stroke="#ffca85"/>
<text x="40" y="171" font-size="10" fill="#ffca85" text-anchor="middle">0</text>
<line x1="113" y1="155" x2="113" y2="159" stroke="#ffca85"/>
<text x="113" y="171" font-size="10" fill="#ffca85" text-anchor="middle">6</text>
<line x1="186" y1="155" x2="186" y2="159" stroke="#ffca85"/>
<text x="186" y="171" font-size="10" fill="#ffca85" text-anchor="middle">12</text>
<line x1="258" y1="155" x2="258" y2="159" stroke="#ffca85"/>
<text x="258" y="171" font-size="10" fill="#ffca85" text-anchor="middle">18</text>
<line x1="319" y1="155" x2="319" y2="159" stroke="#ffca85"/>
<text x="319" y="171" font-size="10" fill="#ffca85" text-anchor="middle">23</text>
<rect x="35.00" y="101.28" width="11.12" height="53.72" rx="2" fill="#a277ff"><title>00:00 — 293 commits</title></rect>
<rect x="47.12" y="136.30" width="11.12" height="18.70" rx="2" fill="#a277ff"><title>01:00 — 102 commits</title></rect>
<rect x="59.25" y="145.10" width="11.12" height="9.90" rx="2" fill="#a277ff"><title>02:00 — 54 commits</title></rect>
<rect x="71.38" y="149.87" width="11.12" height="5.13" rx="2" fill="#a277ff"><title>03:00 — 28 commits</title></rect>
<rect x="83.50" y="153.35" width="11.12" height="1.65" rx="2" fill="#a277ff"><title>04:00 — 9 commits</title></rect>
<rect x="95.62" y="153.90" width="11.12" height="1.10" rx="2" fill="#a277ff"><title>05:00 — 6 commits</title></rect>
<rect x="107.75" y="152.80" width="11.12" height="2.20" rx="2" fill="#a277ff"><title>06:00 — 12 commits</title></rect>
<rect x="119.88" y="151.15" width="11.12" height="3.85" rx="2" fill="#a277ff"><title>07:00 — 21 commits</title></rect>
<rect x="132.00" y="135.20" width="11.12" height="19.80" rx="2" fill="#a277ff"><title>08:00 — 108 commits</title></rect>
<rect x="144.12" y="85.15" width="11.12" height="69.85" rx="2" fill="#a277ff"><title>09:00 — 381 commits</title></rect>
<rect x="156.25" y="68.83" width="11.12" height="86.17" rx="2" fill="#a277ff"><title>10:00 — 470 commits</title></rect>
<rect x="168.38" y="74.88" width="11.12" height="80.12" rx="2" fill="#a277ff"><title>11:00 — 437 commits</title></rect>
<rect x="180.50" y="104.40" width="11.12" height="50.60" rx="2" fill="#a277ff"><title>12:00 — 276 commits</title></rect>
<rect x="192.62" y="87.72" width="11.12" height="67.28" rx="2" fill="#a277ff"><title>13:00 — 367 commits</title></rect>
<rect x="204.75" y="86.80" width="11.12" height="68.20" rx="2" fill="#a277ff"><title>14:00 — 372 commits</title></rect>
<rect x="216.88" y="95.23" width="11.12" height="59.77" rx="2" fill="#a277ff"><title>15:00 — 326 commits</title></rect>
<rect x="229.00" y="80.02" width="11.12" height="74.98" rx="2" fill="#a277ff"><title>16:00 — 409 commits</title></rect>
<rect x="241.12" y="83.50" width="11.12" height="71.50" rx="2" fill="#a277ff"><title>17:00 — 390 commits</title></rect>
<rect x="253.25" y="105.32" width="11.12" height="49.68" rx="2" fill="#a277ff"><title>18:00 — 271 commits</title></rect>
<rect x="265.38" y="115.95" width="11.12" height="39.05" rx="2" fill="#a277ff"><title>19:00 — 213 commits</title></rect>
<rect x="277.50" y="65.72" width="11.12" height="89.28" rx="2" fill="#a277ff"><title>20:00 — 487 commits</title></rect>
<rect x="289.62" y="46.28" width="11.12" height="108.72" rx="2" fill="#a277ff"><title>21:00 — 593 commits</title></rect>
<rect x="301.75" y="60.77" width="11.12" height="94.23" rx="2" fill="#a277ff"><title>22:00 — 514 commits</title></rect>
<rect x="313.88" y="69.93" width="11.12" height="85.07" rx="2" fill="#a277ff"><title>23:00 — 464 commits</title></rect>
<text x="180" y="189" font-size="11" fill="#ffca85" text-anchor="middle">hour of day</text>
</svg>

After

Width:  |  Height:  |  Size: 5.1 KiB

+51
View File
@@ -0,0 +1,51 @@
<svg xmlns="http://www.w3.org/2000/svg" width="340" height="200" viewBox="0 0 340 200" font-family="'Segoe UI', Ubuntu, Sans-Serif">
<rect x="0.5" y="0.5" width="339" height="199" rx="6" fill="#15141b" stroke="#000000" stroke-opacity="0.00"/>
<text x="20" y="30" font-size="15" font-weight="600" fill="#a277ff">Commits by Hour (last year, UTC+7)</text>
<line x1="35" y1="45" x2="35" y2="155" stroke="#ffca85"/>
<line x1="31" y1="155" x2="35" y2="155" stroke="#ffca85"/>
<text x="29" y="158" font-size="10" fill="#ffca85" text-anchor="end">0</text>
<line x1="31" y1="128" x2="35" y2="128" stroke="#ffca85"/>
<text x="29" y="131" font-size="10" fill="#ffca85" text-anchor="end">100</text>
<line x1="31" y1="100" x2="35" y2="100" stroke="#ffca85"/>
<text x="29" y="103" font-size="10" fill="#ffca85" text-anchor="end">200</text>
<line x1="31" y1="73" x2="35" y2="73" stroke="#ffca85"/>
<text x="29" y="76" font-size="10" fill="#ffca85" text-anchor="end">300</text>
<line x1="31" y1="45" x2="35" y2="45" stroke="#ffca85"/>
<text x="29" y="48" font-size="10" fill="#ffca85" text-anchor="end">400</text>
<line x1="35" y1="155" x2="325" y2="155" stroke="#ffca85"/>
<line x1="40" y1="155" x2="40" y2="159" stroke="#ffca85"/>
<text x="40" y="171" font-size="10" fill="#ffca85" text-anchor="middle">0</text>
<line x1="113" y1="155" x2="113" y2="159" stroke="#ffca85"/>
<text x="113" y="171" font-size="10" fill="#ffca85" text-anchor="middle">6</text>
<line x1="186" y1="155" x2="186" y2="159" stroke="#ffca85"/>
<text x="186" y="171" font-size="10" fill="#ffca85" text-anchor="middle">12</text>
<line x1="258" y1="155" x2="258" y2="159" stroke="#ffca85"/>
<text x="258" y="171" font-size="10" fill="#ffca85" text-anchor="middle">18</text>
<line x1="319" y1="155" x2="319" y2="159" stroke="#ffca85"/>
<text x="319" y="171" font-size="10" fill="#ffca85" text-anchor="middle">23</text>
<rect x="35.00" y="102.47" width="11.12" height="52.52" rx="2" fill="#a277ff"><title>00:00 — 191 commits</title></rect>
<rect x="47.12" y="137.40" width="11.12" height="17.60" rx="2" fill="#a277ff"><title>01:00 — 64 commits</title></rect>
<rect x="59.25" y="143.18" width="11.12" height="11.82" rx="2" fill="#a277ff"><title>02:00 — 43 commits</title></rect>
<rect x="71.38" y="149.22" width="11.12" height="5.78" rx="2" fill="#a277ff"><title>03:00 — 21 commits</title></rect>
<rect x="83.50" y="155.00" width="11.12" height="0.00" rx="2" fill="#a277ff"><title>04:00 — 0 commits</title></rect>
<rect x="95.62" y="155.00" width="11.12" height="0.00" rx="2" fill="#a277ff"><title>05:00 — 0 commits</title></rect>
<rect x="107.75" y="154.45" width="11.12" height="0.55" rx="2" fill="#a277ff"><title>06:00 — 2 commits</title></rect>
<rect x="119.88" y="153.07" width="11.12" height="1.93" rx="2" fill="#a277ff"><title>07:00 — 7 commits</title></rect>
<rect x="132.00" y="132.18" width="11.12" height="22.82" rx="2" fill="#a277ff"><title>08:00 — 83 commits</title></rect>
<rect x="144.12" y="61.22" width="11.12" height="93.78" rx="2" fill="#a277ff"><title>09:00 — 341 commits</title></rect>
<rect x="156.25" y="48.30" width="11.12" height="106.70" rx="2" fill="#a277ff"><title>10:00 — 388 commits</title></rect>
<rect x="168.38" y="68.38" width="11.12" height="86.62" rx="2" fill="#a277ff"><title>11:00 — 315 commits</title></rect>
<rect x="180.50" y="101.65" width="11.12" height="53.35" rx="2" fill="#a277ff"><title>12:00 — 194 commits</title></rect>
<rect x="192.62" y="74.97" width="11.12" height="80.03" rx="2" fill="#a277ff"><title>13:00 — 291 commits</title></rect>
<rect x="204.75" y="78.83" width="11.12" height="76.17" rx="2" fill="#a277ff"><title>14:00 — 277 commits</title></rect>
<rect x="216.88" y="78.00" width="11.12" height="77.00" rx="2" fill="#a277ff"><title>15:00 — 280 commits</title></rect>
<rect x="229.00" y="56.28" width="11.12" height="98.72" rx="2" fill="#a277ff"><title>16:00 — 359 commits</title></rect>
<rect x="241.12" y="61.50" width="11.12" height="93.50" rx="2" fill="#a277ff"><title>17:00 — 340 commits</title></rect>
<rect x="253.25" y="103.85" width="11.12" height="51.15" rx="2" fill="#a277ff"><title>18:00 — 186 commits</title></rect>
<rect x="265.38" y="117.60" width="11.12" height="37.40" rx="2" fill="#a277ff"><title>19:00 — 136 commits</title></rect>
<rect x="277.50" y="65.62" width="11.12" height="89.38" rx="2" fill="#a277ff"><title>20:00 — 325 commits</title></rect>
<rect x="289.62" y="51.05" width="11.12" height="103.95" rx="2" fill="#a277ff"><title>21:00 — 378 commits</title></rect>
<rect x="301.75" y="58.20" width="11.12" height="96.80" rx="2" fill="#a277ff"><title>22:00 — 352 commits</title></rect>
<rect x="313.88" y="71.67" width="11.12" height="83.33" rx="2" fill="#a277ff"><title>23:00 — 303 commits</title></rect>
<text x="180" y="189" font-size="11" fill="#ffca85" text-anchor="middle">hour of day</text>
</svg>

After

Width:  |  Height:  |  Size: 4.9 KiB

+36
View File
@@ -0,0 +1,36 @@
<svg xmlns="http://www.w3.org/2000/svg" width="340" height="200" viewBox="0 0 340 200" font-family="'Segoe UI', Ubuntu, Sans-Serif">
<rect x="0.5" y="0.5" width="339" height="199" rx="6" fill="#15141b" stroke="#000000" stroke-opacity="0.00"/>
<text x="20" y="30" font-size="15" font-weight="600" fill="#a277ff">Commits by Weekday (all time)</text>
<line x1="35" y1="45" x2="35" y2="155" stroke="#ffca85"/>
<line x1="31" y1="155" x2="35" y2="155" stroke="#ffca85"/>
<text x="29" y="158" font-size="10" fill="#ffca85" text-anchor="end">0</text>
<line x1="31" y1="140" x2="35" y2="140" stroke="#ffca85"/>
<text x="29" y="143" font-size="10" fill="#ffca85" text-anchor="end">200</text>
<line x1="31" y1="124" x2="35" y2="124" stroke="#ffca85"/>
<text x="29" y="127" font-size="10" fill="#ffca85" text-anchor="end">400</text>
<line x1="31" y1="108" x2="35" y2="108" stroke="#ffca85"/>
<text x="29" y="111" font-size="10" fill="#ffca85" text-anchor="end">600</text>
<line x1="31" y1="93" x2="35" y2="93" stroke="#ffca85"/>
<text x="29" y="96" font-size="10" fill="#ffca85" text-anchor="end">800</text>
<line x1="31" y1="77" x2="35" y2="77" stroke="#ffca85"/>
<text x="29" y="80" font-size="10" fill="#ffca85" text-anchor="end">1k</text>
<line x1="31" y1="61" x2="35" y2="61" stroke="#ffca85"/>
<text x="29" y="64" font-size="10" fill="#ffca85" text-anchor="end">1.2k</text>
<line x1="31" y1="45" x2="35" y2="45" stroke="#ffca85"/>
<text x="29" y="48" font-size="10" fill="#ffca85" text-anchor="end">1.4k</text>
<line x1="35" y1="155" x2="325" y2="155" stroke="#ffca85"/>
<rect x="35.00" y="75.33" width="36.29" height="79.67" rx="2" fill="#624a98"><title>Mon — 1014 commits</title></rect>
<text x="53.14" y="169" font-size="10" fill="#ffca85" text-anchor="middle">Mon</text>
<rect x="77.29" y="84.52" width="36.29" height="70.48" rx="2" fill="#624a98"><title>Tue — 897 commits</title></rect>
<text x="95.43" y="169" font-size="10" fill="#ffca85" text-anchor="middle">Tue</text>
<rect x="119.57" y="84.13" width="36.29" height="70.87" rx="2" fill="#624a98"><title>Wed — 902 commits</title></rect>
<text x="137.71" y="169" font-size="10" fill="#ffca85" text-anchor="middle">Wed</text>
<rect x="161.86" y="97.96" width="36.29" height="57.04" rx="2" fill="#624a98"><title>Thu — 726 commits</title></rect>
<text x="180.00" y="169" font-size="10" fill="#ffca85" text-anchor="middle">Thu</text>
<rect x="204.14" y="96.94" width="36.29" height="58.06" rx="2" fill="#624a98"><title>Fri — 739 commits</title></rect>
<text x="222.29" y="169" font-size="10" fill="#ffca85" text-anchor="middle">Fri</text>
<rect x="246.43" y="53.56" width="36.29" height="101.44" rx="2" fill="#a277ff"><title>Sat — 1291 commits</title></rect>
<text x="264.57" y="169" font-size="10" fill="#ffca85" text-anchor="middle">Sat</text>
<rect x="288.71" y="73.76" width="36.29" height="81.24" rx="2" fill="#624a98"><title>Sun — 1034 commits</title></rect>
<text x="306.86" y="169" font-size="10" fill="#ffca85" text-anchor="middle">Sun</text>
</svg>

After

Width:  |  Height:  |  Size: 3.0 KiB

+32
View File
@@ -0,0 +1,32 @@
<svg xmlns="http://www.w3.org/2000/svg" width="340" height="200" viewBox="0 0 340 200" font-family="'Segoe UI', Ubuntu, Sans-Serif">
<rect x="0.5" y="0.5" width="339" height="199" rx="6" fill="#15141b" stroke="#000000" stroke-opacity="0.00"/>
<text x="20" y="30" font-size="15" font-weight="600" fill="#a277ff">Commits by Weekday (last year)</text>
<line x1="35" y1="45" x2="35" y2="155" stroke="#ffca85"/>
<line x1="31" y1="155" x2="35" y2="155" stroke="#ffca85"/>
<text x="29" y="158" font-size="10" fill="#ffca85" text-anchor="end">0</text>
<line x1="31" y1="133" x2="35" y2="133" stroke="#ffca85"/>
<text x="29" y="136" font-size="10" fill="#ffca85" text-anchor="end">200</text>
<line x1="31" y1="111" x2="35" y2="111" stroke="#ffca85"/>
<text x="29" y="114" font-size="10" fill="#ffca85" text-anchor="end">400</text>
<line x1="31" y1="89" x2="35" y2="89" stroke="#ffca85"/>
<text x="29" y="92" font-size="10" fill="#ffca85" text-anchor="end">600</text>
<line x1="31" y1="67" x2="35" y2="67" stroke="#ffca85"/>
<text x="29" y="70" font-size="10" fill="#ffca85" text-anchor="end">800</text>
<line x1="31" y1="45" x2="35" y2="45" stroke="#ffca85"/>
<text x="29" y="48" font-size="10" fill="#ffca85" text-anchor="end">1k</text>
<line x1="35" y1="155" x2="325" y2="155" stroke="#ffca85"/>
<rect x="35.00" y="68.43" width="36.29" height="86.57" rx="2" fill="#624a98"><title>Mon — 787 commits</title></rect>
<text x="53.14" y="169" font-size="10" fill="#ffca85" text-anchor="middle">Mon</text>
<rect x="77.29" y="81.41" width="36.29" height="73.59" rx="2" fill="#624a98"><title>Tue — 669 commits</title></rect>
<text x="95.43" y="169" font-size="10" fill="#ffca85" text-anchor="middle">Tue</text>
<rect x="119.57" y="74.81" width="36.29" height="80.19" rx="2" fill="#624a98"><title>Wed — 729 commits</title></rect>
<text x="137.71" y="169" font-size="10" fill="#ffca85" text-anchor="middle">Wed</text>
<rect x="161.86" y="97.58" width="36.29" height="57.42" rx="2" fill="#624a98"><title>Thu — 522 commits</title></rect>
<text x="180.00" y="169" font-size="10" fill="#ffca85" text-anchor="middle">Thu</text>
<rect x="204.14" y="91.31" width="36.29" height="63.69" rx="2" fill="#624a98"><title>Fri — 579 commits</title></rect>
<text x="222.29" y="169" font-size="10" fill="#ffca85" text-anchor="middle">Fri</text>
<rect x="246.43" y="51.05" width="36.29" height="103.95" rx="2" fill="#a277ff"><title>Sat — 945 commits</title></rect>
<text x="264.57" y="169" font-size="10" fill="#ffca85" text-anchor="middle">Sat</text>
<rect x="288.71" y="84.05" width="36.29" height="70.95" rx="2" fill="#624a98"><title>Sun — 645 commits</title></rect>
<text x="306.86" y="169" font-size="10" fill="#ffca85" text-anchor="middle">Sun</text>
</svg>

After

Width:  |  Height:  |  Size: 2.7 KiB

+16
View File
@@ -0,0 +1,16 @@
<svg xmlns="http://www.w3.org/2000/svg" width="340" height="200" viewBox="0 0 340 200" font-family="'Segoe UI', Ubuntu, Sans-Serif">
<rect x="0.5" y="0.5" width="339" height="199" rx="6" fill="#15141b" stroke="#000000" stroke-opacity="0.00"/>
<text x="20" y="30" font-size="15" font-weight="600" fill="#a277ff">tiennm99 (Tien Nguyen Minh)</text>
<g transform="translate(20,50.00) scale(0.750)" fill="#ffca85"><path fill-rule="evenodd" d="M1.5 14.25c0 .138.112.25.25.25H4v-1.25a.75.75 0 01.75-.75h2.5a.75.75 0 01.75.75v1.25h2.25a.25.25 0 00.25-.25V1.75a.25.25 0 00-.25-.25h-8.5a.25.25 0 00-.25.25v12.5zM1.75 16A1.75 1.75 0 010 14.25V1.75C0 .784.784 0 1.75 0h8.5C11.216 0 12 .784 12 1.75v12.5c0 .085-.006.168-.018.25h2.268a.25.25 0 00.25-.25V8.285a.25.25 0 00-.111-.208l-1.055-.703a.75.75 0 11.832-1.248l1.055.703c.487.325.779.871.779 1.456v5.965A1.75 1.75 0 0114.25 16h-3.5a.75.75 0 01-.197-.026c-.099.017-.2.026-.303.026h-3a.75.75 0 01-.75-.75V14h-1v1.25a.75.75 0 01-.75.75h-3zM3 3.75A.75.75 0 013.75 3h.5a.75.75 0 010 1.5h-.5A.75.75 0 013 3.75zM3.75 6a.75.75 0 000 1.5h.5a.75.75 0 000-1.5h-.5zM3 9.75A.75.75 0 013.75 9h.5a.75.75 0 010 1.5h-.5A.75.75 0 013 9.75zM7.75 9a.75.75 0 000 1.5h.5a.75.75 0 000-1.5h-.5zM7 6.75A.75.75 0 017.75 6h.5a.75.75 0 010 1.5h-.5A.75.75 0 017 6.75zM7.75 3a.75.75 0 000 1.5h.5a.75.75 0 000-1.5h-.5z"/></g>
<text x="40" y="60" font-size="12" fill="#61ffca">VNG Corporation</text>
<g transform="translate(20,70.00) scale(0.750)" fill="#ffca85"><path fill-rule="evenodd" d="M11.536 3.464a5 5 0 010 7.072L8 14.07l-3.536-3.535a5 5 0 117.072-7.072v.001zm1.06 8.132a6.5 6.5 0 10-9.192 0l3.535 3.536a1.5 1.5 0 002.122 0l3.535-3.536zM8 9a2 2 0 100-4 2 2 0 000 4z"/></g>
<text x="40" y="80" font-size="12" fill="#61ffca">Ho Chi Minh - Viet Nam</text>
<g transform="translate(20,90.00) scale(0.750)" fill="#ffca85"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"/></g>
<text x="40" y="100" font-size="12" fill="#61ffca">miti99.com</text>
<g transform="translate(20,110.00) scale(0.750)" fill="#ffca85"><path fill-rule="evenodd" d="M1.5 8a6.5 6.5 0 1113 0 6.5 6.5 0 01-13 0zM8 0a8 8 0 100 16A8 8 0 008 0zm.5 4.75a.75.75 0 00-1.5 0v3.5a.75.75 0 00.471.696l2.5 1a.75.75 0 00.557-1.392L8.5 7.742V4.75z"/></g>
<text x="40" y="120" font-size="12" fill="#61ffca">2018-05-07 (8 years ago)</text>
<g transform="translate(20,130.00) scale(0.750)" fill="#ffca85"><path fill-rule="evenodd" d="M5.5 3.5a2 2 0 100 4 2 2 0 000-4zM2 5.5a3.5 3.5 0 115.898 2.549 5.507 5.507 0 013.034 4.084.75.75 0 11-1.482.235 4.001 4.001 0 00-7.9 0 .75.75 0 01-1.482-.236A5.507 5.507 0 013.102 8.05 3.49 3.49 0 012 5.5zM11 4a.75.75 0 100 1.5 1.5 1.5 0 01.666 2.844.75.75 0 00-.416.672v.352a.75.75 0 00.574.73c1.2.289 2.162 1.2 2.522 2.372a.75.75 0 101.434-.44 5.01 5.01 0 00-2.56-3.012A3 3 0 0011 4z"/></g>
<text x="40" y="140" font-size="12" fill="#61ffca">15 followers · 16 following</text>
<g transform="translate(20,150.00) scale(0.750)" fill="#ffca85"><path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"/></g>
<text x="40" y="160" font-size="12" fill="#61ffca">197 repos</text>
</svg>

After

Width:  |  Height:  |  Size: 3.7 KiB

+22
View File
@@ -0,0 +1,22 @@
<svg xmlns="http://www.w3.org/2000/svg" width="340" height="200" viewBox="0 0 340 200" font-family="'Segoe UI', Ubuntu, Sans-Serif">
<rect x="0.5" y="0.5" width="339" height="199" rx="6" fill="#15141b" stroke="#000000" stroke-opacity="0.00"/>
<text x="20" y="30" font-size="15" font-weight="600" fill="#a277ff">Records (all time)</text>
<g transform="translate(20,45.00) scale(0.750)" fill="#ffca85"><path fill-rule="evenodd" d="M10.5 7.75a2.5 2.5 0 11-5 0 2.5 2.5 0 015 0zm1.43.75a4.002 4.002 0 01-7.86 0H.75a.75.75 0 110-1.5h3.32a4.001 4.001 0 017.86 0h3.32a.75.75 0 110 1.5h-3.32z"/></g>
<text x="40" y="55" font-size="12" fill="#61ffca">Best day</text>
<text x="320" y="55" font-size="12" font-weight="600" fill="#a277ff" text-anchor="end">228 on 2026-05-09</text>
<g transform="translate(20,65.00) scale(0.750)" fill="#ffca85"><path fill-rule="evenodd" d="M8 .25a.75.75 0 01.673.418l1.882 3.815 4.21.612a.75.75 0 01.416 1.279l-3.046 2.97.719 4.192a.75.75 0 01-1.088.791L8 12.347l-3.766 1.98a.75.75 0 01-1.088-.79l.72-4.194L.818 6.374a.75.75 0 01.416-1.28l4.21-.611L7.327.668A.75.75 0 018 .25zm0 2.445L6.615 5.5a.75.75 0 01-.564.41l-3.097.45 2.24 2.184a.75.75 0 01.216.664l-.528 3.084 2.769-1.456a.75.75 0 01.698 0l2.77 1.456-.53-3.084a.75.75 0 01.216-.664l2.24-2.183-3.096-.45a.75.75 0 01-.564-.41L8 2.694v.001z"/></g>
<text x="40" y="75" font-size="12" fill="#61ffca">Best month</text>
<text x="320" y="75" font-size="12" font-weight="600" fill="#a277ff" text-anchor="end">1,762 in Apr 2026</text>
<g transform="translate(20,85.00) scale(0.750)" fill="#ffca85"><path fill-rule="evenodd" d="M4.75 0a.75.75 0 01.75.75V2h5V.75a.75.75 0 011.5 0V2h1.25c.966 0 1.75.784 1.75 1.75v10.5A1.75 1.75 0 0113.25 16H2.75A1.75 1.75 0 011 14.25V3.75C1 2.784 1.784 2 2.75 2H4V.75A.75.75 0 014.75 0zm0 3.5h8.5a.25.25 0 01.25.25V6h-11V3.75a.25.25 0 01.25-.25h2zM2.5 7.5v6.75c0 .138.112.25.25.25h10.5a.25.25 0 00.25-.25V7.5h-11z"/></g>
<text x="40" y="95" font-size="12" fill="#61ffca">First contribution</text>
<text x="320" y="95" font-size="12" font-weight="600" fill="#a277ff" text-anchor="end">2018-05-08</text>
<g transform="translate(20,105.00) scale(0.750)" fill="#ffca85"><path d="M1.643 3.143L.427 1.927A.25.25 0 000 2.104V5.75c0 .138.112.25.25.25h3.646a.25.25 0 00.177-.427L2.715 4.215a6.5 6.5 0 11-1.18 4.456.75.75 0 10-1.493.154 8.001 8.001 0 101.6-5.682zM7.75 4a.75.75 0 01.75.75v2.992l2.028.812a.75.75 0 01-.557 1.392l-2.5-1A.75.75 0 017 8.25v-3.5A.75.75 0 017.75 4z"/></g>
<text x="40" y="115" font-size="12" fill="#61ffca">Active days</text>
<text x="320" y="115" font-size="12" font-weight="600" fill="#a277ff" text-anchor="end">748</text>
<g transform="translate(20,125.00) scale(0.750)" fill="#ffca85"><path fill-rule="evenodd" d="M1.5 8a6.5 6.5 0 1113 0 6.5 6.5 0 01-13 0zM8 0a8 8 0 100 16A8 8 0 008 0zm.5 4.75a.75.75 0 00-1.5 0v3.5a.75.75 0 00.471.696l2.5 1a.75.75 0 00.557-1.392L8.5 7.742V4.75z"/></g>
<text x="40" y="135" font-size="12" fill="#61ffca">On GitHub</text>
<text x="320" y="135" font-size="12" font-weight="600" fill="#a277ff" text-anchor="end">8.4 years</text>
<g transform="translate(20,145.00) scale(0.750)" fill="#ffca85"><path fill-rule="evenodd" d="M1.543 7.25h2.733c.144-2.074.866-3.756 1.58-4.948.12-.197.237-.381.353-.552a6.506 6.506 0 00-4.666 5.5zm2.733 1.5H1.543a6.506 6.506 0 004.666 5.5 11.13 11.13 0 01-.352-.552c-.715-1.192-1.437-2.874-1.581-4.948zm1.504 0h4.44a9.637 9.637 0 01-1.363 4.177c-.306.51-.612.919-.857 1.215-.245-.296-.55-.705-.857-1.215A9.638 9.638 0 015.78 8.75zM10.22 7.25H5.78a9.637 9.637 0 011.363-4.177c.306-.51.612-.919.857-1.215.245.296.55.705.857 1.215A9.638 9.638 0 0110.22 7.25zm1.504 1.5c-.144 2.074-.866 3.756-1.58 4.948-.12.197-.237.381-.353.552a6.506 6.506 0 004.666-5.5h-2.733zm2.733-1.5h-2.733c-.144-2.074-.866-3.756-1.58-4.948a11.13 11.13 0 00-.353-.552 6.506 6.506 0 014.666 5.5zM8 0a8 8 0 100 16A8 8 0 008 0z"/></g>
<text x="40" y="155" font-size="12" fill="#61ffca">Languages used</text>
<text x="320" y="155" font-size="12" font-weight="600" fill="#a277ff" text-anchor="end">54</text>
</svg>

After

Width:  |  Height:  |  Size: 4.0 KiB

+25
View File
@@ -0,0 +1,25 @@
<svg xmlns="http://www.w3.org/2000/svg" width="340" height="200" viewBox="0 0 340 200" font-family="'Segoe UI', Ubuntu, Sans-Serif">
<rect x="0.5" y="0.5" width="339" height="199" rx="6" fill="#15141b" stroke="#000000" stroke-opacity="0.00"/>
<text x="20" y="30" font-size="15" font-weight="600" fill="#a277ff">Repos Per Language</text>
<rect x="20" y="47" width="10" height="10" fill="#f1e05a" stroke="#15141b" stroke-width="1"/>
<text x="36" y="55" font-size="11" fill="#61ffca">JavaScript 29.71%</text>
<rect x="20" y="67" width="10" height="10" fill="#00ADD8" stroke="#15141b" stroke-width="1"/>
<text x="36" y="75" font-size="11" fill="#61ffca">Go 16.00%</text>
<rect x="20" y="87" width="10" height="10" fill="#e34c26" stroke="#15141b" stroke-width="1"/>
<text x="36" y="95" font-size="11" fill="#61ffca">HTML 10.86%</text>
<rect x="20" y="107" width="10" height="10" fill="#3572A5" stroke="#15141b" stroke-width="1"/>
<text x="36" y="115" font-size="11" fill="#61ffca">Python 10.29%</text>
<rect x="20" y="127" width="10" height="10" fill="#b07219" stroke="#15141b" stroke-width="1"/>
<text x="36" y="135" font-size="11" fill="#61ffca">Java 8.57%</text>
<rect x="20" y="147" width="10" height="10" fill="#f34b7d" stroke="#15141b" stroke-width="1"/>
<text x="36" y="155" font-size="11" fill="#61ffca">C++ 4.57%</text>
<rect x="20" y="167" width="10" height="10" fill="#a277ff" stroke="#15141b" stroke-width="1"/>
<text x="36" y="175" font-size="11" fill="#61ffca">Other 20.00%</text>
<path d="M250.00,55.00 A55.00,55.00 0 0 1 302.60,126.05 L278.69,118.76 A30.00,30.00 0 0 0 250.00,80.00 Z" fill="#f1e05a" stroke="#15141b" stroke-width="1.5"/>
<path d="M302.60,126.05 A55.00,55.00 0 0 1 264.63,163.02 L257.98,138.92 A30.00,30.00 0 0 0 278.69,118.76 Z" fill="#00ADD8" stroke="#15141b" stroke-width="1.5"/>
<path d="M264.63,163.02 A55.00,55.00 0 0 1 227.93,160.38 L237.96,137.48 A30.00,30.00 0 0 0 257.98,138.92 Z" fill="#e34c26" stroke="#15141b" stroke-width="1.5"/>
<path d="M227.93,160.38 A55.00,55.00 0 0 1 202.04,136.93 L223.84,124.69 A30.00,30.00 0 0 0 237.96,137.48 Z" fill="#3572A5" stroke="#15141b" stroke-width="1.5"/>
<path d="M202.04,136.93 A55.00,55.00 0 0 1 195.02,108.52 L220.01,109.19 A30.00,30.00 0 0 0 223.84,124.69 Z" fill="#b07219" stroke="#15141b" stroke-width="1.5"/>
<path d="M195.02,108.52 A55.00,55.00 0 0 1 197.69,93.00 L221.47,100.73 A30.00,30.00 0 0 0 220.01,109.19 Z" fill="#f34b7d" stroke="#15141b" stroke-width="1.5"/>
<path d="M197.69,93.00 A55.00,55.00 0 0 1 250.00,55.00 L250.00,80.00 A30.00,30.00 0 0 0 221.47,100.73 Z" fill="#a277ff" stroke="#15141b" stroke-width="1.5"/>
</svg>

After

Width:  |  Height:  |  Size: 2.6 KiB

+25
View File
@@ -0,0 +1,25 @@
<svg xmlns="http://www.w3.org/2000/svg" width="340" height="200" viewBox="0 0 340 200" font-family="'Segoe UI', Ubuntu, Sans-Serif">
<rect x="0.5" y="0.5" width="339" height="199" rx="6" fill="#15141b" stroke="#000000" stroke-opacity="0.00"/>
<text x="20" y="30" font-size="15" font-weight="600" fill="#a277ff">Stats</text>
<g transform="translate(20,45.00) scale(0.750)" fill="#ffca85"><path fill-rule="evenodd" d="M8 .25a.75.75 0 01.673.418l1.882 3.815 4.21.612a.75.75 0 01.416 1.279l-3.046 2.97.719 4.192a.75.75 0 01-1.088.791L8 12.347l-3.766 1.98a.75.75 0 01-1.088-.79l.72-4.194L.818 6.374a.75.75 0 01.416-1.28l4.21-.611L7.327.668A.75.75 0 018 .25zm0 2.445L6.615 5.5a.75.75 0 01-.564.41l-3.097.45 2.24 2.184a.75.75 0 01.216.664l-.528 3.084 2.769-1.456a.75.75 0 01.698 0l2.77 1.456-.53-3.084a.75.75 0 01.216-.664l2.24-2.183-3.096-.45a.75.75 0 01-.564-.41L8 2.694v.001z"/></g>
<text x="40" y="55" font-size="12" fill="#61ffca">Total Stars</text>
<text x="320" y="55" font-size="12" font-weight="600" fill="#a277ff" text-anchor="end">12</text>
<g transform="translate(20,65.00) scale(0.750)" fill="#ffca85"><path fill-rule="evenodd" d="M10.5 7.75a2.5 2.5 0 11-5 0 2.5 2.5 0 015 0zm1.43.75a4.002 4.002 0 01-7.86 0H.75a.75.75 0 110-1.5h3.32a4.001 4.001 0 017.86 0h3.32a.75.75 0 110 1.5h-3.32z"/></g>
<text x="40" y="75" font-size="12" fill="#61ffca">Total Commits (all time)</text>
<text x="320" y="75" font-size="12" font-weight="600" fill="#a277ff" text-anchor="end">10,384</text>
<g transform="translate(20,85.00) scale(0.750)" fill="#ffca85"><path fill-rule="evenodd" d="M10.5 7.75a2.5 2.5 0 11-5 0 2.5 2.5 0 015 0zm1.43.75a4.002 4.002 0 01-7.86 0H.75a.75.75 0 110-1.5h3.32a4.001 4.001 0 017.86 0h3.32a.75.75 0 110 1.5h-3.32z"/></g>
<text x="40" y="95" font-size="12" fill="#61ffca">Total Commits (last year)</text>
<text x="320" y="95" font-size="12" font-weight="600" fill="#a277ff" text-anchor="end">8,058</text>
<g transform="translate(20,105.00) scale(0.750)" fill="#ffca85"><path fill-rule="evenodd" d="M7.177 3.073L9.573.677A.25.25 0 0110 .854v4.792a.25.25 0 01-.427.177L7.177 3.427a.25.25 0 010-.354zM3.75 2.5a.75.75 0 100 1.5.75.75 0 000-1.5zm-2.25.75a2.25 2.25 0 113 2.122v5.256a2.251 2.251 0 11-1.5 0V5.372A2.25 2.25 0 011.5 3.25zM11 2.5h-1V4h1a1 1 0 011 1v5.628a2.251 2.251 0 101.5 0V5A2.5 2.5 0 0011 2.5zm1 10.25a.75.75 0 111.5 0 .75.75 0 01-1.5 0zM3.75 12a.75.75 0 100 1.5.75.75 0 000-1.5z"/></g>
<text x="40" y="115" font-size="12" fill="#61ffca">Total PRs</text>
<text x="320" y="115" font-size="12" font-weight="600" fill="#a277ff" text-anchor="end">225</text>
<g transform="translate(20,125.00) scale(0.750)" fill="#ffca85"><path fill-rule="evenodd" d="M8 1.5a6.5 6.5 0 100 13 6.5 6.5 0 000-13zM0 8a8 8 0 1116 0A8 8 0 010 8zm9 3a1 1 0 11-2 0 1 1 0 012 0zm-.25-6.25a.75.75 0 00-1.5 0v3.5a.75.75 0 001.5 0v-3.5z"/></g>
<text x="40" y="135" font-size="12" fill="#61ffca">Total Issues</text>
<text x="320" y="135" font-size="12" font-weight="600" fill="#a277ff" text-anchor="end">13</text>
<g transform="translate(20,145.00) scale(0.750)" fill="#ffca85"><path fill-rule="evenodd" d="M1.5 2.75a.25.25 0 01.25-.25h12.5a.25.25 0 01.25.25v8.5a.25.25 0 01-.25.25h-6.5a.75.75 0 00-.53.22L4.5 14.44v-2.19a.75.75 0 00-.75-.75h-2a.25.25 0 01-.25-.25v-8.5zM1.75 1A1.75 1.75 0 000 2.75v8.5C0 12.216.784 13 1.75 13H3v1.543a1.457 1.457 0 002.487 1.03L8.061 13h6.189A1.75 1.75 0 0016 11.25v-8.5A1.75 1.75 0 0014.25 1H1.75zm5.03 3.47a.75.75 0 010 1.06L5.31 7l1.47 1.47a.75.75 0 01-1.06 1.06l-2-2a.75.75 0 010-1.06l2-2a.75.75 0 011.06 0zm2.44 0a.75.75 0 000 1.06L10.69 7 9.22 8.47a.75.75 0 001.06 1.06l2-2a.75.75 0 000-1.06l-2-2a.75.75 0 00-1.06 0z"/></g>
<text x="40" y="155" font-size="12" fill="#61ffca">Total PR Reviews</text>
<text x="320" y="155" font-size="12" font-weight="600" fill="#a277ff" text-anchor="end">12</text>
<g transform="translate(20,165.00) scale(0.750)" fill="#ffca85"><path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"/></g>
<text x="40" y="175" font-size="12" fill="#61ffca">Contributed to</text>
<text x="320" y="175" font-size="12" font-weight="600" fill="#a277ff" text-anchor="end">90</text>
</svg>

After

Width:  |  Height:  |  Size: 4.4 KiB

+13
View File
@@ -0,0 +1,13 @@
<svg xmlns="http://www.w3.org/2000/svg" width="340" height="200" viewBox="0 0 340 200" font-family="'Segoe UI', Ubuntu, Sans-Serif">
<rect x="0.5" y="0.5" width="339" height="199" rx="6" fill="#15141b" stroke="#000000" stroke-opacity="0.00"/>
<text x="20" y="30" font-size="15" font-weight="600" fill="#a277ff">Streak</text>
<text x="56" y="95" font-size="28" font-weight="700" fill="#a277ff" text-anchor="middle">11</text>
<text x="56" y="120" font-size="12" fill="#61ffca" text-anchor="middle">Current streak</text>
<text x="56" y="140" font-size="10" fill="#ffca85" text-anchor="middle">Sep 27 — Oct 7</text>
<text x="169" y="95" font-size="28" font-weight="700" fill="#a277ff" text-anchor="middle">176</text>
<text x="169" y="120" font-size="12" fill="#61ffca" text-anchor="middle">Longest streak</text>
<text x="169" y="140" font-size="10" fill="#ffca85" text-anchor="middle">Mar 30 — Sep 21</text>
<text x="282" y="95" font-size="28" font-weight="700" fill="#a277ff" text-anchor="middle">748</text>
<text x="282" y="120" font-size="12" fill="#61ffca" text-anchor="middle">Active days</text>
<text x="282" y="140" font-size="10" fill="#ffca85" text-anchor="middle">of 3,202 total (23%)</text>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

+39
View File
@@ -0,0 +1,39 @@
<svg xmlns="http://www.w3.org/2000/svg" width="340" height="200" viewBox="0 0 340 200" font-family="'Segoe UI', Ubuntu, Sans-Serif">
<rect x="0.5" y="0.5" width="339" height="199" rx="6" fill="#15141b" stroke="#000000" stroke-opacity="0.00"/>
<text x="20" y="30" font-size="15" font-weight="600" fill="#a277ff">Top Starred Repos</text>
<circle cx="24" cy="51" r="4" fill="#00ADD8"/>
<text x="34" y="55" font-size="12" fill="#61ffca">awesome-ai-dev-t…</text>
<rect x="150" y="47" width="120" height="10" rx="3" fill="#a277ff" fill-opacity="0.15"/>
<rect x="150" y="47" width="120.00" height="10" rx="3" fill="#a277ff"/>
<text x="334" y="55" font-size="12" font-weight="600" fill="#a277ff" text-anchor="end">3 ★</text>
<circle cx="24" cy="71" r="4" fill="#00ADD8"/>
<text x="34" y="75" font-size="12" fill="#61ffca">ghglance</text>
<rect x="150" y="67" width="120" height="10" rx="3" fill="#a277ff" fill-opacity="0.15"/>
<rect x="150" y="67" width="40.00" height="10" rx="3" fill="#a277ff"/>
<text x="334" y="75" font-size="12" font-weight="600" fill="#a277ff" text-anchor="end">1 ★</text>
<circle cx="24" cy="91" r="4" fill="#f1e05a"/>
<text x="34" y="95" font-size="12" fill="#61ffca">ai-labs</text>
<rect x="150" y="87" width="120" height="10" rx="3" fill="#a277ff" fill-opacity="0.15"/>
<rect x="150" y="87" width="40.00" height="10" rx="3" fill="#a277ff"/>
<text x="334" y="95" font-size="12" font-weight="600" fill="#a277ff" text-anchor="end">1 ★</text>
<circle cx="24" cy="111" r="4" fill="#e34c26"/>
<text x="34" y="115" font-size="12" fill="#61ffca">penny-pincher-pr…</text>
<rect x="150" y="107" width="120" height="10" rx="3" fill="#a277ff" fill-opacity="0.15"/>
<rect x="150" y="107" width="40.00" height="10" rx="3" fill="#a277ff"/>
<text x="334" y="115" font-size="12" font-weight="600" fill="#a277ff" text-anchor="end">1 ★</text>
<circle cx="24" cy="131" r="4" fill="#dea584"/>
<text x="34" y="135" font-size="12" fill="#61ffca">time-mocker</text>
<rect x="150" y="127" width="120" height="10" rx="3" fill="#a277ff" fill-opacity="0.15"/>
<rect x="150" y="127" width="40.00" height="10" rx="3" fill="#a277ff"/>
<text x="334" y="135" font-size="12" font-weight="600" fill="#a277ff" text-anchor="end">1 ★</text>
<circle cx="24" cy="151" r="4" fill="#00ADD8"/>
<text x="34" y="155" font-size="12" fill="#61ffca">adventofcode</text>
<rect x="150" y="147" width="120" height="10" rx="3" fill="#a277ff" fill-opacity="0.15"/>
<rect x="150" y="147" width="40.00" height="10" rx="3" fill="#a277ff"/>
<text x="334" y="155" font-size="12" font-weight="600" fill="#a277ff" text-anchor="end">1 ★</text>
<circle cx="24" cy="171" r="4" fill="#3572A5"/>
<text x="34" y="175" font-size="12" fill="#61ffca">export-telegram-…</text>
<rect x="150" y="167" width="120" height="10" rx="3" fill="#a277ff" fill-opacity="0.15"/>
<rect x="150" y="167" width="40.00" height="10" rx="3" fill="#a277ff"/>
<text x="334" y="175" font-size="12" font-weight="600" fill="#a277ff" text-anchor="end">1 ★</text>
</svg>

After

Width:  |  Height:  |  Size: 3.0 KiB

+21
View File
@@ -0,0 +1,21 @@
# ghglance — aura_dark
[← back to index](../README.md)
Rendered for [`tiennm99`](https://github.com/tiennm99). 16 SVGs laid out to match the author profile README table.
<div align="center">
<table>
<tr><td><img src="./profile-details.svg" alt="profile-details" /></td><td><img src="./stats.svg" alt="stats" /></td></tr>
<tr><td><img src="./repos-per-language.svg" alt="repos-per-language" /></td><td><img src="./top-starred-repos.svg" alt="top-starred-repos" /></td></tr>
<tr><td><img src="./contributions-by-year.svg" alt="contributions-by-year" /></td><td><img src="./contributions-heatmap.svg" alt="contributions-heatmap" /></td></tr>
<tr><td><img src="./records.svg" alt="records" /></td><td><img src="./streak.svg" alt="streak" /></td></tr>
<tr><th>Last year</th><th>All time</th></tr>
<tr><td><img src="./most-commit-language.svg" alt="most-commit-language" /></td><td><img src="./most-commit-language-all-time.svg" alt="most-commit-language-all-time" /></td></tr>
<tr><td><img src="./contributions.svg" alt="contributions" /></td><td><img src="./contributions-all-time.svg" alt="contributions-all-time" /></td></tr>
<tr><td><img src="./productive-weekday.svg" alt="productive-weekday" /></td><td><img src="./productive-weekday-all-time.svg" alt="productive-weekday-all-time" /></td></tr>
<tr><td><img src="./productive-time.svg" alt="productive-time" /></td><td><img src="./productive-time-all-time.svg" alt="productive-time-all-time" /></td></tr>
</table>
</div>
+42
View File
@@ -0,0 +1,42 @@
<svg xmlns="http://www.w3.org/2000/svg" width="340" height="200" viewBox="0 0 340 200" font-family="'Segoe UI', Ubuntu, Sans-Serif">
<rect x="0.5" y="0.5" width="339" height="199" rx="6" fill="#252334" stroke="#000000" stroke-opacity="0.00"/>
<text x="20" y="30" font-size="15" font-weight="600" fill="#ff7372">Contributions (all time)</text>
<line x1="28" y1="45" x2="28" y2="150" stroke="#6cffd0"/>
<line x1="312" y1="45" x2="312" y2="150" stroke="#6cffd0"/>
<line x1="24" y1="150" x2="28" y2="150" stroke="#6cffd0"/>
<text x="22" y="153" font-size="10" fill="#6cffd0" text-anchor="end">0</text>
<line x1="312" y1="150" x2="316" y2="150" stroke="#6cffd0"/>
<text x="318" y="153" font-size="10" fill="#6cffd0" text-anchor="start">0</text>
<line x1="24" y1="124" x2="28" y2="124" stroke="#6cffd0"/>
<text x="22" y="127" font-size="10" fill="#6cffd0" text-anchor="end">500</text>
<line x1="312" y1="124" x2="316" y2="124" stroke="#6cffd0"/>
<text x="318" y="127" font-size="10" fill="#6cffd0" text-anchor="start">500</text>
<line x1="24" y1="98" x2="28" y2="98" stroke="#6cffd0"/>
<text x="22" y="101" font-size="10" fill="#6cffd0" text-anchor="end">1k</text>
<line x1="312" y1="98" x2="316" y2="98" stroke="#6cffd0"/>
<text x="318" y="101" font-size="10" fill="#6cffd0" text-anchor="start">1k</text>
<line x1="24" y1="72" x2="28" y2="72" stroke="#6cffd0"/>
<text x="22" y="75" font-size="10" fill="#6cffd0" text-anchor="end">1.5k</text>
<line x1="312" y1="72" x2="316" y2="72" stroke="#6cffd0"/>
<text x="318" y="75" font-size="10" fill="#6cffd0" text-anchor="start">1.5k</text>
<line x1="24" y1="45" x2="28" y2="45" stroke="#6cffd0"/>
<text x="22" y="48" font-size="10" fill="#6cffd0" text-anchor="end">2k</text>
<line x1="312" y1="45" x2="316" y2="45" stroke="#6cffd0"/>
<text x="318" y="48" font-size="10" fill="#6cffd0" text-anchor="start">2k</text>
<line x1="28" y1="150" x2="312" y2="150" stroke="#6cffd0"/>
<line x1="28" y1="150" x2="28" y2="154" stroke="#6cffd0"/>
<text x="28" y="166" font-size="10" fill="#6cffd0" text-anchor="middle">01/18</text>
<line x1="84" y1="150" x2="84" y2="154" stroke="#6cffd0"/>
<text x="84" y="166" font-size="10" fill="#6cffd0" text-anchor="middle">10/19</text>
<line x1="141" y1="150" x2="141" y2="154" stroke="#6cffd0"/>
<text x="141" y="166" font-size="10" fill="#6cffd0" text-anchor="middle">07/21</text>
<line x1="198" y1="150" x2="198" y2="154" stroke="#6cffd0"/>
<text x="198" y="166" font-size="10" fill="#6cffd0" text-anchor="middle">04/23</text>
<line x1="255" y1="150" x2="255" y2="154" stroke="#6cffd0"/>
<text x="255" y="166" font-size="10" fill="#6cffd0" text-anchor="middle">01/25</text>
<line x1="312" y1="150" x2="312" y2="154" stroke="#6cffd0"/>
<text x="312" y="166" font-size="10" fill="#6cffd0" text-anchor="middle">10/26</text>
<path d="M28.00,150.00 C28.45,150.00 29.80,150.00 30.70,150.00 C31.61,150.00 32.51,150.00 33.41,150.00 C34.31,150.00 35.21,150.01 36.11,150.00 C37.02,149.99 37.92,150.13 38.82,149.95 C39.72,149.76 40.62,148.89 41.52,148.90 C42.43,148.91 43.33,149.82 44.23,150.00 C45.13,150.18 46.03,150.03 46.93,150.00 C47.83,149.97 48.74,149.97 49.64,149.79 C50.54,149.61 51.44,148.99 52.34,148.95 C53.24,148.91 54.15,149.35 55.05,149.53 C55.95,149.70 56.85,149.93 57.75,150.00 C58.65,150.07 59.56,149.95 60.46,149.95 C61.36,149.95 62.26,149.99 63.16,150.00 C64.06,150.01 64.97,150.00 65.87,150.00 C66.77,150.00 67.67,150.00 68.57,150.00 C69.47,150.00 70.37,150.00 71.28,150.00 C72.18,150.00 73.08,150.01 73.98,150.00 C74.88,149.99 75.78,150.08 76.69,149.95 C77.59,149.82 78.49,149.20 79.39,149.21 C80.29,149.22 81.19,149.87 82.10,150.00 C83.00,150.13 83.90,150.03 84.80,150.00 C85.70,149.97 86.60,149.84 87.50,149.84 C88.41,149.84 89.31,149.97 90.21,150.00 C91.11,150.03 92.01,150.00 92.91,150.00 C93.82,150.00 94.72,150.05 95.62,150.00 C96.52,149.95 97.42,149.69 98.32,149.69 C99.23,149.69 100.13,149.97 101.03,150.00 C101.93,150.03 102.83,149.95 103.73,149.90 C104.63,149.84 105.54,149.68 106.44,149.69 C107.34,149.69 108.24,150.12 109.14,149.95 C110.04,149.77 110.95,148.63 111.85,148.63 C112.75,148.63 113.65,149.89 114.55,149.95 C115.45,150.00 116.36,148.95 117.26,148.95 C118.16,148.95 119.06,149.77 119.96,149.95 C120.86,150.12 121.77,149.99 122.67,150.00 C123.57,150.01 124.47,150.05 125.37,150.00 C126.27,149.95 127.17,149.80 128.08,149.69 C128.98,149.57 129.88,149.33 130.78,149.32 C131.68,149.31 132.58,149.52 133.49,149.63 C134.39,149.75 135.29,149.94 136.19,150.00 C137.09,150.06 137.99,150.00 138.90,150.00 C139.80,150.00 140.70,150.03 141.60,150.00 C142.50,149.97 143.40,149.89 144.30,149.79 C145.21,149.69 146.11,149.46 147.01,149.42 C147.91,149.39 148.81,149.48 149.71,149.58 C150.62,149.68 151.52,149.94 152.42,150.00 C153.32,150.06 154.22,149.98 155.12,149.95 C156.03,149.91 156.93,149.86 157.83,149.79 C158.73,149.72 159.63,149.59 160.53,149.53 C161.43,149.47 162.34,149.41 163.24,149.42 C164.14,149.43 165.04,149.48 165.94,149.58 C166.84,149.68 167.75,150.11 168.65,150.00 C169.55,149.89 170.45,149.14 171.35,148.95 C172.25,148.76 173.16,148.68 174.06,148.84 C174.96,149.01 175.86,149.92 176.76,149.95 C177.66,149.97 178.57,149.36 179.47,149.00 C180.37,148.64 181.27,148.36 182.17,147.79 C183.07,147.23 183.97,146.16 184.88,145.59 C185.78,145.02 186.68,143.65 187.58,144.38 C188.48,145.12 189.38,149.33 190.29,150.00 C191.19,150.67 192.09,148.74 192.99,148.43 C193.89,148.11 194.79,148.03 195.70,148.11 C196.60,148.19 197.50,149.06 198.40,148.90 C199.30,148.73 200.20,147.24 201.10,147.11 C202.01,146.99 202.91,147.80 203.81,148.16 C204.71,148.52 205.61,149.45 206.51,149.26 C207.42,149.08 208.32,148.48 209.22,147.06 C210.12,145.64 211.02,140.82 211.92,140.76 C212.83,140.70 213.73,145.26 214.63,146.69 C215.53,148.13 216.43,149.02 217.33,149.37 C218.23,149.72 219.14,148.70 220.04,148.79 C220.94,148.89 221.84,149.75 222.74,149.95 C223.64,150.15 224.55,150.24 225.45,150.00 C226.35,149.76 227.25,149.80 228.15,148.53 C229.05,147.26 229.96,142.87 230.86,142.39 C231.76,141.91 232.66,144.51 233.56,145.64 C234.46,146.77 235.37,148.50 236.27,149.16 C237.17,149.82 238.07,149.86 238.97,149.63 C239.87,149.41 240.77,148.17 241.68,147.79 C242.58,147.42 243.48,147.53 244.38,147.38 C245.28,147.22 246.18,146.57 247.09,146.85 C247.99,147.13 248.89,148.75 249.79,149.06 C250.69,149.36 251.59,148.65 252.50,148.69 C253.40,148.72 254.30,150.03 255.20,149.26 C256.10,148.49 257.00,145.09 257.90,144.07 C258.81,143.04 259.71,143.47 260.61,143.12 C261.51,142.77 262.41,142.48 263.31,141.97 C264.22,141.45 265.12,139.37 266.02,140.03 C266.92,140.68 267.82,144.86 268.72,145.91 C269.63,146.95 270.53,146.56 271.43,146.32 C272.33,146.09 273.23,144.44 274.13,144.49 C275.03,144.53 275.94,146.96 276.84,146.59 C277.74,146.22 278.64,144.73 279.54,142.28 C280.44,139.83 281.35,132.50 282.25,131.89 C283.15,131.27 284.05,135.94 284.95,138.61 C285.85,141.28 286.76,147.71 287.66,147.90 C288.56,148.09 289.46,144.62 290.36,139.76 C291.26,134.91 292.17,132.47 293.07,118.76 C293.97,105.05 294.87,64.85 295.77,57.50 C296.67,50.14 297.57,64.62 298.48,74.61 C299.38,84.60 300.28,113.99 301.18,117.45 C302.08,120.91 302.98,96.41 303.89,95.35 C304.79,94.29 305.69,108.64 306.59,111.10 C307.49,113.56 308.39,107.32 309.30,110.10 C310.20,112.88 311.55,124.84 312.00,127.79 L312.00,150.00 L28.00,150.00 Z" fill="#ff7372" fill-opacity="0.25" stroke="none"/>
<path d="M28.00,150.00 C28.45,150.00 29.80,150.00 30.70,150.00 C31.61,150.00 32.51,150.00 33.41,150.00 C34.31,150.00 35.21,150.01 36.11,150.00 C37.02,149.99 37.92,150.13 38.82,149.95 C39.72,149.76 40.62,148.89 41.52,148.90 C42.43,148.91 43.33,149.82 44.23,150.00 C45.13,150.18 46.03,150.03 46.93,150.00 C47.83,149.97 48.74,149.97 49.64,149.79 C50.54,149.61 51.44,148.99 52.34,148.95 C53.24,148.91 54.15,149.35 55.05,149.53 C55.95,149.70 56.85,149.93 57.75,150.00 C58.65,150.07 59.56,149.95 60.46,149.95 C61.36,149.95 62.26,149.99 63.16,150.00 C64.06,150.01 64.97,150.00 65.87,150.00 C66.77,150.00 67.67,150.00 68.57,150.00 C69.47,150.00 70.37,150.00 71.28,150.00 C72.18,150.00 73.08,150.01 73.98,150.00 C74.88,149.99 75.78,150.08 76.69,149.95 C77.59,149.82 78.49,149.20 79.39,149.21 C80.29,149.22 81.19,149.87 82.10,150.00 C83.00,150.13 83.90,150.03 84.80,150.00 C85.70,149.97 86.60,149.84 87.50,149.84 C88.41,149.84 89.31,149.97 90.21,150.00 C91.11,150.03 92.01,150.00 92.91,150.00 C93.82,150.00 94.72,150.05 95.62,150.00 C96.52,149.95 97.42,149.69 98.32,149.69 C99.23,149.69 100.13,149.97 101.03,150.00 C101.93,150.03 102.83,149.95 103.73,149.90 C104.63,149.84 105.54,149.68 106.44,149.69 C107.34,149.69 108.24,150.12 109.14,149.95 C110.04,149.77 110.95,148.63 111.85,148.63 C112.75,148.63 113.65,149.89 114.55,149.95 C115.45,150.00 116.36,148.95 117.26,148.95 C118.16,148.95 119.06,149.77 119.96,149.95 C120.86,150.12 121.77,149.99 122.67,150.00 C123.57,150.01 124.47,150.05 125.37,150.00 C126.27,149.95 127.17,149.80 128.08,149.69 C128.98,149.57 129.88,149.33 130.78,149.32 C131.68,149.31 132.58,149.52 133.49,149.63 C134.39,149.75 135.29,149.94 136.19,150.00 C137.09,150.06 137.99,150.00 138.90,150.00 C139.80,150.00 140.70,150.03 141.60,150.00 C142.50,149.97 143.40,149.89 144.30,149.79 C145.21,149.69 146.11,149.46 147.01,149.42 C147.91,149.39 148.81,149.48 149.71,149.58 C150.62,149.68 151.52,149.94 152.42,150.00 C153.32,150.06 154.22,149.98 155.12,149.95 C156.03,149.91 156.93,149.86 157.83,149.79 C158.73,149.72 159.63,149.59 160.53,149.53 C161.43,149.47 162.34,149.41 163.24,149.42 C164.14,149.43 165.04,149.48 165.94,149.58 C166.84,149.68 167.75,150.11 168.65,150.00 C169.55,149.89 170.45,149.14 171.35,148.95 C172.25,148.76 173.16,148.68 174.06,148.84 C174.96,149.01 175.86,149.92 176.76,149.95 C177.66,149.97 178.57,149.36 179.47,149.00 C180.37,148.64 181.27,148.36 182.17,147.79 C183.07,147.23 183.97,146.16 184.88,145.59 C185.78,145.02 186.68,143.65 187.58,144.38 C188.48,145.12 189.38,149.33 190.29,150.00 C191.19,150.67 192.09,148.74 192.99,148.43 C193.89,148.11 194.79,148.03 195.70,148.11 C196.60,148.19 197.50,149.06 198.40,148.90 C199.30,148.73 200.20,147.24 201.10,147.11 C202.01,146.99 202.91,147.80 203.81,148.16 C204.71,148.52 205.61,149.45 206.51,149.26 C207.42,149.08 208.32,148.48 209.22,147.06 C210.12,145.64 211.02,140.82 211.92,140.76 C212.83,140.70 213.73,145.26 214.63,146.69 C215.53,148.13 216.43,149.02 217.33,149.37 C218.23,149.72 219.14,148.70 220.04,148.79 C220.94,148.89 221.84,149.75 222.74,149.95 C223.64,150.15 224.55,150.24 225.45,150.00 C226.35,149.76 227.25,149.80 228.15,148.53 C229.05,147.26 229.96,142.87 230.86,142.39 C231.76,141.91 232.66,144.51 233.56,145.64 C234.46,146.77 235.37,148.50 236.27,149.16 C237.17,149.82 238.07,149.86 238.97,149.63 C239.87,149.41 240.77,148.17 241.68,147.79 C242.58,147.42 243.48,147.53 244.38,147.38 C245.28,147.22 246.18,146.57 247.09,146.85 C247.99,147.13 248.89,148.75 249.79,149.06 C250.69,149.36 251.59,148.65 252.50,148.69 C253.40,148.72 254.30,150.03 255.20,149.26 C256.10,148.49 257.00,145.09 257.90,144.07 C258.81,143.04 259.71,143.47 260.61,143.12 C261.51,142.77 262.41,142.48 263.31,141.97 C264.22,141.45 265.12,139.37 266.02,140.03 C266.92,140.68 267.82,144.86 268.72,145.91 C269.63,146.95 270.53,146.56 271.43,146.32 C272.33,146.09 273.23,144.44 274.13,144.49 C275.03,144.53 275.94,146.96 276.84,146.59 C277.74,146.22 278.64,144.73 279.54,142.28 C280.44,139.83 281.35,132.50 282.25,131.89 C283.15,131.27 284.05,135.94 284.95,138.61 C285.85,141.28 286.76,147.71 287.66,147.90 C288.56,148.09 289.46,144.62 290.36,139.76 C291.26,134.91 292.17,132.47 293.07,118.76 C293.97,105.05 294.87,64.85 295.77,57.50 C296.67,50.14 297.57,64.62 298.48,74.61 C299.38,84.60 300.28,113.99 301.18,117.45 C302.08,120.91 302.98,96.41 303.89,95.35 C304.79,94.29 305.69,108.64 306.59,111.10 C307.49,113.56 308.39,107.32 309.30,110.10 C310.20,112.88 311.55,124.84 312.00,127.79" fill="none" stroke="#ff7372" stroke-width="2"/>
<text x="170" y="184" font-size="11" fill="#6cffd0" text-anchor="middle">mm/yy</text>
</svg>

After

Width:  |  Height:  |  Size: 12 KiB

+30
View File
@@ -0,0 +1,30 @@
<svg xmlns="http://www.w3.org/2000/svg" width="340" height="200" viewBox="0 0 340 200" font-family="'Segoe UI', Ubuntu, Sans-Serif">
<rect x="0.5" y="0.5" width="339" height="199" rx="6" fill="#252334" stroke="#000000" stroke-opacity="0.00"/>
<text x="20" y="30" font-size="15" font-weight="600" fill="#ff7372">Contributions by Year</text>
<line x1="35" y1="45" x2="35" y2="155" stroke="#6cffd0"/>
<line x1="31" y1="155" x2="35" y2="155" stroke="#6cffd0"/>
<text x="29" y="158" font-size="10" fill="#6cffd0" text-anchor="end">0</text>
<line x1="31" y1="128" x2="35" y2="128" stroke="#6cffd0"/>
<text x="29" y="131" font-size="10" fill="#6cffd0" text-anchor="end">2k</text>
<line x1="31" y1="100" x2="35" y2="100" stroke="#6cffd0"/>
<text x="29" y="103" font-size="10" fill="#6cffd0" text-anchor="end">4k</text>
<line x1="31" y1="73" x2="35" y2="73" stroke="#6cffd0"/>
<text x="29" y="76" font-size="10" fill="#6cffd0" text-anchor="end">6k</text>
<line x1="31" y1="45" x2="35" y2="45" stroke="#6cffd0"/>
<text x="29" y="48" font-size="10" fill="#6cffd0" text-anchor="end">8k</text>
<line x1="35" y1="155" x2="325" y2="155" stroke="#6cffd0"/>
<rect x="35.00" y="154.24" width="30.44" height="0.76" rx="2" fill="#9c4f56"><title>2018 — 55 commits</title></rect>
<text x="50.22" y="169" font-size="10" fill="#6cffd0" text-anchor="middle">2018</text>
<rect x="67.44" y="154.72" width="30.44" height="0.28" rx="2" fill="#9c4f56"><title>2019 — 20 commits</title></rect>
<rect x="99.89" y="154.13" width="30.44" height="0.87" rx="2" fill="#9c4f56"><title>2020 — 63 commits</title></rect>
<text x="115.11" y="169" font-size="10" fill="#6cffd0" text-anchor="middle">2020</text>
<rect x="132.33" y="154.31" width="30.44" height="0.69" rx="2" fill="#9c4f56"><title>2021 — 50 commits</title></rect>
<rect x="164.78" y="150.50" width="30.44" height="4.50" rx="2" fill="#9c4f56"><title>2022 — 327 commits</title></rect>
<text x="180.00" y="169" font-size="10" fill="#6cffd0" text-anchor="middle">2022</text>
<rect x="197.22" y="147.84" width="30.44" height="7.16" rx="2" fill="#9c4f56"><title>2023 — 521 commits</title></rect>
<rect x="229.67" y="148.47" width="30.44" height="6.53" rx="2" fill="#9c4f56"><title>2024 — 475 commits</title></rect>
<text x="244.89" y="169" font-size="10" fill="#6cffd0" text-anchor="middle">2024</text>
<rect x="262.11" y="132.62" width="30.44" height="22.39" rx="2" fill="#9c4f56"><title>2025 — 1628 commits</title></rect>
<rect x="294.56" y="50.32" width="30.44" height="104.68" rx="2" fill="#ff7372"><title>2026 — 7613 commits</title></rect>
<text x="309.78" y="169" font-size="10" fill="#6cffd0" text-anchor="middle">2026</text>
</svg>

After

Width:  |  Height:  |  Size: 2.7 KiB

+391
View File
@@ -0,0 +1,391 @@
<svg xmlns="http://www.w3.org/2000/svg" width="340" height="200" viewBox="0 0 340 200" font-family="'Segoe UI', Ubuntu, Sans-Serif">
<rect x="0.5" y="0.5" width="339" height="199" rx="6" fill="#252334" stroke="#000000" stroke-opacity="0.00"/>
<text x="20" y="30" font-size="15" font-weight="600" fill="#ff7372">Contributions (last year)</text>
<text x="26" y="61" font-size="10" fill="#6cffd0" text-anchor="end">Tue</text>
<text x="26" y="79" font-size="10" fill="#6cffd0" text-anchor="end">Thu</text>
<text x="26" y="97" font-size="10" fill="#6cffd0" text-anchor="end">Sat</text>
<text x="39" y="41" font-size="10" fill="#6cffd0">Oct</text>
<text x="75" y="41" font-size="10" fill="#6cffd0">Nov</text>
<text x="111" y="41" font-size="10" fill="#6cffd0">Dec</text>
<text x="156" y="41" font-size="10" fill="#6cffd0">Jan</text>
<text x="192" y="41" font-size="10" fill="#6cffd0">Feb</text>
<text x="228" y="41" font-size="10" fill="#6cffd0">Mar</text>
<rect x="30" y="99" width="8" height="8" rx="1.5" fill="#5b3743"><title>2025-10-05 — 14</title></rect>
<rect x="39" y="45" width="8" height="8" rx="1.5" fill="#5b3743"><title>2025-10-06 — 4</title></rect>
<rect x="39" y="54" width="8" height="8" rx="1.5" fill="#5b3743"><title>2025-10-07 — 14</title></rect>
<rect x="39" y="63" width="8" height="8" rx="1.5" fill="#5b3743"><title>2025-10-08 — 14</title></rect>
<rect x="39" y="72" width="8" height="8" rx="1.5" fill="#252334"><title>2025-10-09 — 0</title></rect>
<rect x="39" y="81" width="8" height="8" rx="1.5" fill="#252334"><title>2025-10-10 — 0</title></rect>
<rect x="39" y="90" width="8" height="8" rx="1.5" fill="#5b3743"><title>2025-10-11 — 15</title></rect>
<rect x="39" y="99" width="8" height="8" rx="1.5" fill="#5b3743"><title>2025-10-12 — 3</title></rect>
<rect x="48" y="45" width="8" height="8" rx="1.5" fill="#5b3743"><title>2025-10-13 — 2</title></rect>
<rect x="48" y="54" width="8" height="8" rx="1.5" fill="#252334"><title>2025-10-14 — 0</title></rect>
<rect x="48" y="63" width="8" height="8" rx="1.5" fill="#252334"><title>2025-10-15 — 0</title></rect>
<rect x="48" y="72" width="8" height="8" rx="1.5" fill="#252334"><title>2025-10-16 — 0</title></rect>
<rect x="48" y="81" width="8" height="8" rx="1.5" fill="#252334"><title>2025-10-17 — 0</title></rect>
<rect x="48" y="90" width="8" height="8" rx="1.5" fill="#252334"><title>2025-10-18 — 0</title></rect>
<rect x="48" y="99" width="8" height="8" rx="1.5" fill="#5b3743"><title>2025-10-19 — 6</title></rect>
<rect x="57" y="45" width="8" height="8" rx="1.5" fill="#5b3743"><title>2025-10-20 — 5</title></rect>
<rect x="57" y="54" width="8" height="8" rx="1.5" fill="#5b3743"><title>2025-10-21 — 4</title></rect>
<rect x="57" y="63" width="8" height="8" rx="1.5" fill="#5b3743"><title>2025-10-22 — 5</title></rect>
<rect x="57" y="72" width="8" height="8" rx="1.5" fill="#5b3743"><title>2025-10-23 — 2</title></rect>
<rect x="57" y="81" width="8" height="8" rx="1.5" fill="#252334"><title>2025-10-24 — 0</title></rect>
<rect x="57" y="90" width="8" height="8" rx="1.5" fill="#5b3743"><title>2025-10-25 — 29</title></rect>
<rect x="57" y="99" width="8" height="8" rx="1.5" fill="#5b3743"><title>2025-10-26 — 4</title></rect>
<rect x="66" y="45" width="8" height="8" rx="1.5" fill="#252334"><title>2025-10-27 — 0</title></rect>
<rect x="66" y="54" width="8" height="8" rx="1.5" fill="#5b3743"><title>2025-10-28 — 1</title></rect>
<rect x="66" y="63" width="8" height="8" rx="1.5" fill="#5b3743"><title>2025-10-29 — 2</title></rect>
<rect x="66" y="72" width="8" height="8" rx="1.5" fill="#5b3743"><title>2025-10-30 — 1</title></rect>
<rect x="66" y="81" width="8" height="8" rx="1.5" fill="#252334"><title>2025-10-31 — 0</title></rect>
<rect x="66" y="90" width="8" height="8" rx="1.5" fill="#252334"><title>2025-11-01 — 0</title></rect>
<rect x="66" y="99" width="8" height="8" rx="1.5" fill="#252334"><title>2025-11-02 — 0</title></rect>
<rect x="75" y="45" width="8" height="8" rx="1.5" fill="#252334"><title>2025-11-03 — 0</title></rect>
<rect x="75" y="54" width="8" height="8" rx="1.5" fill="#5b3743"><title>2025-11-04 — 5</title></rect>
<rect x="75" y="63" width="8" height="8" rx="1.5" fill="#5b3743"><title>2025-11-05 — 9</title></rect>
<rect x="75" y="72" width="8" height="8" rx="1.5" fill="#5b3743"><title>2025-11-06 — 9</title></rect>
<rect x="75" y="81" width="8" height="8" rx="1.5" fill="#5b3743"><title>2025-11-07 — 38</title></rect>
<rect x="75" y="90" width="8" height="8" rx="1.5" fill="#5b3743"><title>2025-11-08 — 20</title></rect>
<rect x="75" y="99" width="8" height="8" rx="1.5" fill="#5b3743"><title>2025-11-09 — 8</title></rect>
<rect x="84" y="45" width="8" height="8" rx="1.5" fill="#5b3743"><title>2025-11-10 — 8</title></rect>
<rect x="84" y="54" width="8" height="8" rx="1.5" fill="#5b3743"><title>2025-11-11 — 9</title></rect>
<rect x="84" y="63" width="8" height="8" rx="1.5" fill="#5b3743"><title>2025-11-12 — 4</title></rect>
<rect x="84" y="72" width="8" height="8" rx="1.5" fill="#5b3743"><title>2025-11-13 — 24</title></rect>
<rect x="84" y="81" width="8" height="8" rx="1.5" fill="#5b3743"><title>2025-11-14 — 52</title></rect>
<rect x="84" y="90" width="8" height="8" rx="1.5" fill="#5b3743"><title>2025-11-15 — 17</title></rect>
<rect x="84" y="99" width="8" height="8" rx="1.5" fill="#252334"><title>2025-11-16 — 0</title></rect>
<rect x="93" y="45" width="8" height="8" rx="1.5" fill="#5b3743"><title>2025-11-17 — 2</title></rect>
<rect x="93" y="54" width="8" height="8" rx="1.5" fill="#5b3743"><title>2025-11-18 — 4</title></rect>
<rect x="93" y="63" width="8" height="8" rx="1.5" fill="#5b3743"><title>2025-11-19 — 14</title></rect>
<rect x="93" y="72" width="8" height="8" rx="1.5" fill="#5b3743"><title>2025-11-20 — 3</title></rect>
<rect x="93" y="81" width="8" height="8" rx="1.5" fill="#252334"><title>2025-11-21 — 0</title></rect>
<rect x="93" y="90" width="8" height="8" rx="1.5" fill="#5b3743"><title>2025-11-22 — 3</title></rect>
<rect x="93" y="99" width="8" height="8" rx="1.5" fill="#5b3743"><title>2025-11-23 — 1</title></rect>
<rect x="102" y="45" width="8" height="8" rx="1.5" fill="#5b3743"><title>2025-11-24 — 8</title></rect>
<rect x="102" y="54" width="8" height="8" rx="1.5" fill="#5b3743"><title>2025-11-25 — 2</title></rect>
<rect x="102" y="63" width="8" height="8" rx="1.5" fill="#5b3743"><title>2025-11-26 — 14</title></rect>
<rect x="102" y="72" width="8" height="8" rx="1.5" fill="#5b3743"><title>2025-11-27 — 32</title></rect>
<rect x="102" y="81" width="8" height="8" rx="1.5" fill="#5b3743"><title>2025-11-28 — 21</title></rect>
<rect x="102" y="90" width="8" height="8" rx="1.5" fill="#5b3743"><title>2025-11-29 — 24</title></rect>
<rect x="102" y="99" width="8" height="8" rx="1.5" fill="#5b3743"><title>2025-11-30 — 14</title></rect>
<rect x="111" y="45" width="8" height="8" rx="1.5" fill="#5b3743"><title>2025-12-01 — 8</title></rect>
<rect x="111" y="54" width="8" height="8" rx="1.5" fill="#5b3743"><title>2025-12-02 — 5</title></rect>
<rect x="111" y="63" width="8" height="8" rx="1.5" fill="#5b3743"><title>2025-12-03 — 17</title></rect>
<rect x="111" y="72" width="8" height="8" rx="1.5" fill="#5b3743"><title>2025-12-04 — 25</title></rect>
<rect x="111" y="81" width="8" height="8" rx="1.5" fill="#5b3743"><title>2025-12-05 — 4</title></rect>
<rect x="111" y="90" width="8" height="8" rx="1.5" fill="#5b3743"><title>2025-12-06 — 30</title></rect>
<rect x="111" y="99" width="8" height="8" rx="1.5" fill="#5b3743"><title>2025-12-07 — 5</title></rect>
<rect x="120" y="45" width="8" height="8" rx="1.5" fill="#5b3743"><title>2025-12-08 — 5</title></rect>
<rect x="120" y="54" width="8" height="8" rx="1.5" fill="#5b3743"><title>2025-12-09 — 5</title></rect>
<rect x="120" y="63" width="8" height="8" rx="1.5" fill="#5b3743"><title>2025-12-10 — 7</title></rect>
<rect x="120" y="72" width="8" height="8" rx="1.5" fill="#5b3743"><title>2025-12-11 — 14</title></rect>
<rect x="120" y="81" width="8" height="8" rx="1.5" fill="#5b3743"><title>2025-12-12 — 2</title></rect>
<rect x="120" y="90" width="8" height="8" rx="1.5" fill="#5b3743"><title>2025-12-13 — 2</title></rect>
<rect x="120" y="99" width="8" height="8" rx="1.5" fill="#5b3743"><title>2025-12-14 — 2</title></rect>
<rect x="129" y="45" width="8" height="8" rx="1.5" fill="#5b3743"><title>2025-12-15 — 16</title></rect>
<rect x="129" y="54" width="8" height="8" rx="1.5" fill="#5b3743"><title>2025-12-16 — 6</title></rect>
<rect x="129" y="63" width="8" height="8" rx="1.5" fill="#252334"><title>2025-12-17 — 0</title></rect>
<rect x="129" y="72" width="8" height="8" rx="1.5" fill="#252334"><title>2025-12-18 — 0</title></rect>
<rect x="129" y="81" width="8" height="8" rx="1.5" fill="#252334"><title>2025-12-19 — 0</title></rect>
<rect x="129" y="90" width="8" height="8" rx="1.5" fill="#5b3743"><title>2025-12-20 — 2</title></rect>
<rect x="129" y="99" width="8" height="8" rx="1.5" fill="#5b3743"><title>2025-12-21 — 36</title></rect>
<rect x="138" y="45" width="8" height="8" rx="1.5" fill="#252334"><title>2025-12-22 — 0</title></rect>
<rect x="138" y="54" width="8" height="8" rx="1.5" fill="#5b3743"><title>2025-12-23 — 2</title></rect>
<rect x="138" y="63" width="8" height="8" rx="1.5" fill="#252334"><title>2025-12-24 — 0</title></rect>
<rect x="138" y="72" width="8" height="8" rx="1.5" fill="#252334"><title>2025-12-25 — 0</title></rect>
<rect x="138" y="81" width="8" height="8" rx="1.5" fill="#252334"><title>2025-12-26 — 0</title></rect>
<rect x="138" y="90" width="8" height="8" rx="1.5" fill="#5b3743"><title>2025-12-27 — 2</title></rect>
<rect x="138" y="99" width="8" height="8" rx="1.5" fill="#5b3743"><title>2025-12-28 — 4</title></rect>
<rect x="147" y="45" width="8" height="8" rx="1.5" fill="#252334"><title>2025-12-29 — 0</title></rect>
<rect x="147" y="54" width="8" height="8" rx="1.5" fill="#5b3743"><title>2025-12-30 — 18</title></rect>
<rect x="147" y="63" width="8" height="8" rx="1.5" fill="#252334"><title>2025-12-31 — 0</title></rect>
<rect x="147" y="72" width="8" height="8" rx="1.5" fill="#252334"><title>2026-01-01 — 0</title></rect>
<rect x="147" y="81" width="8" height="8" rx="1.5" fill="#252334"><title>2026-01-02 — 0</title></rect>
<rect x="147" y="90" width="8" height="8" rx="1.5" fill="#252334"><title>2026-01-03 — 0</title></rect>
<rect x="147" y="99" width="8" height="8" rx="1.5" fill="#252334"><title>2026-01-04 — 0</title></rect>
<rect x="156" y="45" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-01-05 — 2</title></rect>
<rect x="156" y="54" width="8" height="8" rx="1.5" fill="#252334"><title>2026-01-06 — 0</title></rect>
<rect x="156" y="63" width="8" height="8" rx="1.5" fill="#252334"><title>2026-01-07 — 0</title></rect>
<rect x="156" y="72" width="8" height="8" rx="1.5" fill="#252334"><title>2026-01-08 — 0</title></rect>
<rect x="156" y="81" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-01-09 — 9</title></rect>
<rect x="156" y="90" width="8" height="8" rx="1.5" fill="#252334"><title>2026-01-10 — 0</title></rect>
<rect x="156" y="99" width="8" height="8" rx="1.5" fill="#252334"><title>2026-01-11 — 0</title></rect>
<rect x="165" y="45" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-01-12 — 1</title></rect>
<rect x="165" y="54" width="8" height="8" rx="1.5" fill="#252334"><title>2026-01-13 — 0</title></rect>
<rect x="165" y="63" width="8" height="8" rx="1.5" fill="#252334"><title>2026-01-14 — 0</title></rect>
<rect x="165" y="72" width="8" height="8" rx="1.5" fill="#252334"><title>2026-01-15 — 0</title></rect>
<rect x="165" y="81" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-01-16 — 1</title></rect>
<rect x="165" y="90" width="8" height="8" rx="1.5" fill="#252334"><title>2026-01-17 — 0</title></rect>
<rect x="165" y="99" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-01-18 — 4</title></rect>
<rect x="174" y="45" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-01-19 — 4</title></rect>
<rect x="174" y="54" width="8" height="8" rx="1.5" fill="#252334"><title>2026-01-20 — 0</title></rect>
<rect x="174" y="63" width="8" height="8" rx="1.5" fill="#252334"><title>2026-01-21 — 0</title></rect>
<rect x="174" y="72" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-01-22 — 6</title></rect>
<rect x="174" y="81" width="8" height="8" rx="1.5" fill="#252334"><title>2026-01-23 — 0</title></rect>
<rect x="174" y="90" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-01-24 — 2</title></rect>
<rect x="174" y="99" width="8" height="8" rx="1.5" fill="#252334"><title>2026-01-25 — 0</title></rect>
<rect x="183" y="45" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-01-26 — 1</title></rect>
<rect x="183" y="54" width="8" height="8" rx="1.5" fill="#252334"><title>2026-01-27 — 0</title></rect>
<rect x="183" y="63" width="8" height="8" rx="1.5" fill="#252334"><title>2026-01-28 — 0</title></rect>
<rect x="183" y="72" width="8" height="8" rx="1.5" fill="#252334"><title>2026-01-29 — 0</title></rect>
<rect x="183" y="81" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-01-30 — 10</title></rect>
<rect x="183" y="90" width="8" height="8" rx="1.5" fill="#252334"><title>2026-01-31 — 0</title></rect>
<rect x="183" y="99" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-02-01 — 2</title></rect>
<rect x="192" y="45" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-02-02 — 2</title></rect>
<rect x="192" y="54" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-02-03 — 2</title></rect>
<rect x="192" y="63" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-02-04 — 1</title></rect>
<rect x="192" y="72" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-02-05 — 9</title></rect>
<rect x="192" y="81" width="8" height="8" rx="1.5" fill="#252334"><title>2026-02-06 — 0</title></rect>
<rect x="192" y="90" width="8" height="8" rx="1.5" fill="#252334"><title>2026-02-07 — 0</title></rect>
<rect x="192" y="99" width="8" height="8" rx="1.5" fill="#252334"><title>2026-02-08 — 0</title></rect>
<rect x="201" y="45" width="8" height="8" rx="1.5" fill="#252334"><title>2026-02-09 — 0</title></rect>
<rect x="201" y="54" width="8" height="8" rx="1.5" fill="#252334"><title>2026-02-10 — 0</title></rect>
<rect x="201" y="63" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-02-11 — 1</title></rect>
<rect x="201" y="72" width="8" height="8" rx="1.5" fill="#252334"><title>2026-02-12 — 0</title></rect>
<rect x="201" y="81" width="8" height="8" rx="1.5" fill="#252334"><title>2026-02-13 — 0</title></rect>
<rect x="201" y="90" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-02-14 — 2</title></rect>
<rect x="201" y="99" width="8" height="8" rx="1.5" fill="#252334"><title>2026-02-15 — 0</title></rect>
<rect x="210" y="45" width="8" height="8" rx="1.5" fill="#252334"><title>2026-02-16 — 0</title></rect>
<rect x="210" y="54" width="8" height="8" rx="1.5" fill="#252334"><title>2026-02-17 — 0</title></rect>
<rect x="210" y="63" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-02-18 — 2</title></rect>
<rect x="210" y="72" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-02-19 — 2</title></rect>
<rect x="210" y="81" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-02-20 — 49</title></rect>
<rect x="210" y="90" width="8" height="8" rx="1.5" fill="#252334"><title>2026-02-21 — 0</title></rect>
<rect x="210" y="99" width="8" height="8" rx="1.5" fill="#252334"><title>2026-02-22 — 0</title></rect>
<rect x="219" y="45" width="8" height="8" rx="1.5" fill="#252334"><title>2026-02-23 — 0</title></rect>
<rect x="219" y="54" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-02-24 — 2</title></rect>
<rect x="219" y="63" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-02-25 — 38</title></rect>
<rect x="219" y="72" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-02-26 — 18</title></rect>
<rect x="219" y="81" width="8" height="8" rx="1.5" fill="#924b53"><title>2026-02-27 — 63</title></rect>
<rect x="219" y="90" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-02-28 — 2</title></rect>
<rect x="219" y="99" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-03-01 — 2</title></rect>
<rect x="228" y="45" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-03-02 — 2</title></rect>
<rect x="228" y="54" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-03-03 — 39</title></rect>
<rect x="228" y="63" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-03-04 — 24</title></rect>
<rect x="228" y="72" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-03-05 — 10</title></rect>
<rect x="228" y="81" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-03-06 — 12</title></rect>
<rect x="228" y="90" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-03-07 — 43</title></rect>
<rect x="228" y="99" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-03-08 — 45</title></rect>
<rect x="237" y="45" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-03-09 — 30</title></rect>
<rect x="237" y="54" width="8" height="8" rx="1.5" fill="#924b53"><title>2026-03-10 — 66</title></rect>
<rect x="237" y="63" width="8" height="8" rx="1.5" fill="#c85f62"><title>2026-03-11 — 150</title></rect>
<rect x="237" y="72" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-03-12 — 50</title></rect>
<rect x="237" y="81" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-03-13 — 4</title></rect>
<rect x="237" y="90" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-03-14 — 2</title></rect>
<rect x="237" y="99" width="8" height="8" rx="1.5" fill="#252334"><title>2026-03-15 — 0</title></rect>
<rect x="246" y="45" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-03-16 — 3</title></rect>
<rect x="246" y="54" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-03-17 — 20</title></rect>
<rect x="246" y="63" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-03-18 — 10</title></rect>
<rect x="246" y="72" width="8" height="8" rx="1.5" fill="#252334"><title>2026-03-19 — 0</title></rect>
<rect x="246" y="81" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-03-20 — 2</title></rect>
<rect x="246" y="90" width="8" height="8" rx="1.5" fill="#252334"><title>2026-03-21 — 0</title></rect>
<rect x="246" y="99" width="8" height="8" rx="1.5" fill="#252334"><title>2026-03-22 — 0</title></rect>
<rect x="255" y="45" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-03-23 — 2</title></rect>
<rect x="255" y="54" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-03-24 — 4</title></rect>
<rect x="255" y="63" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-03-25 — 26</title></rect>
<rect x="255" y="72" width="8" height="8" rx="1.5" fill="#252334"><title>2026-03-26 — 0</title></rect>
<rect x="255" y="81" width="8" height="8" rx="1.5" fill="#252334"><title>2026-03-27 — 0</title></rect>
<rect x="255" y="90" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-03-28 — 2</title></rect>
<rect x="255" y="99" width="8" height="8" rx="1.5" fill="#252334"><title>2026-03-29 — 0</title></rect>
<rect x="264" y="45" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-03-30 — 24</title></rect>
<rect x="264" y="54" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-03-31 — 23</title></rect>
<rect x="264" y="63" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-04-01 — 17</title></rect>
<rect x="264" y="72" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-04-02 — 8</title></rect>
<rect x="264" y="81" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-04-03 — 22</title></rect>
<rect x="264" y="90" width="8" height="8" rx="1.5" fill="#924b53"><title>2026-04-04 — 76</title></rect>
<rect x="264" y="99" width="8" height="8" rx="1.5" fill="#924b53"><title>2026-04-05 — 76</title></rect>
<text x="26" y="136" font-size="10" fill="#6cffd0" text-anchor="end">Tue</text>
<text x="26" y="154" font-size="10" fill="#6cffd0" text-anchor="end">Thu</text>
<text x="26" y="172" font-size="10" fill="#6cffd0" text-anchor="end">Sat</text>
<text x="30" y="116" font-size="10" fill="#6cffd0">Apr</text>
<text x="66" y="116" font-size="10" fill="#6cffd0">May</text>
<text x="102" y="116" font-size="10" fill="#6cffd0">Jun</text>
<text x="147" y="116" font-size="10" fill="#6cffd0">Jul</text>
<text x="183" y="116" font-size="10" fill="#6cffd0">Aug</text>
<text x="228" y="116" font-size="10" fill="#6cffd0">Sep</text>
<text x="264" y="116" font-size="10" fill="#6cffd0">Oct</text>
<rect x="30" y="120" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-04-06 — 55</title></rect>
<rect x="30" y="129" width="8" height="8" rx="1.5" fill="#924b53"><title>2026-04-07 — 72</title></rect>
<rect x="30" y="138" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-04-08 — 14</title></rect>
<rect x="30" y="147" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-04-09 — 25</title></rect>
<rect x="30" y="156" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-04-10 — 2</title></rect>
<rect x="30" y="165" width="8" height="8" rx="1.5" fill="#924b53"><title>2026-04-11 — 60</title></rect>
<rect x="30" y="174" width="8" height="8" rx="1.5" fill="#924b53"><title>2026-04-12 — 84</title></rect>
<rect x="39" y="120" width="8" height="8" rx="1.5" fill="#924b53"><title>2026-04-13 — 82</title></rect>
<rect x="39" y="129" width="8" height="8" rx="1.5" fill="#924b53"><title>2026-04-14 — 94</title></rect>
<rect x="39" y="138" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-04-15 — 14</title></rect>
<rect x="39" y="147" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-04-16 — 29</title></rect>
<rect x="39" y="156" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-04-17 — 19</title></rect>
<rect x="39" y="165" width="8" height="8" rx="1.5" fill="#ff7372"><title>2026-04-18 — 195</title></rect>
<rect x="39" y="174" width="8" height="8" rx="1.5" fill="#924b53"><title>2026-04-19 — 111</title></rect>
<rect x="48" y="120" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-04-20 — 46</title></rect>
<rect x="48" y="129" width="8" height="8" rx="1.5" fill="#924b53"><title>2026-04-21 — 84</title></rect>
<rect x="48" y="138" width="8" height="8" rx="1.5" fill="#924b53"><title>2026-04-22 — 72</title></rect>
<rect x="48" y="147" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-04-23 — 30</title></rect>
<rect x="48" y="156" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-04-24 — 50</title></rect>
<rect x="48" y="165" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-04-25 — 43</title></rect>
<rect x="48" y="174" width="8" height="8" rx="1.5" fill="#924b53"><title>2026-04-26 — 101</title></rect>
<rect x="57" y="120" width="8" height="8" rx="1.5" fill="#924b53"><title>2026-04-27 — 105</title></rect>
<rect x="57" y="129" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-04-28 — 45</title></rect>
<rect x="57" y="138" width="8" height="8" rx="1.5" fill="#924b53"><title>2026-04-29 — 78</title></rect>
<rect x="57" y="147" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-04-30 — 53</title></rect>
<rect x="57" y="156" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-05-01 — 13</title></rect>
<rect x="57" y="165" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-05-02 — 2</title></rect>
<rect x="57" y="174" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-05-03 — 25</title></rect>
<rect x="66" y="120" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-05-04 — 2</title></rect>
<rect x="66" y="129" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-05-05 — 30</title></rect>
<rect x="66" y="138" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-05-06 — 5</title></rect>
<rect x="66" y="147" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-05-07 — 44</title></rect>
<rect x="66" y="156" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-05-08 — 43</title></rect>
<rect x="66" y="165" width="8" height="8" rx="1.5" fill="#ff7372"><title>2026-05-09 — 228</title></rect>
<rect x="66" y="174" width="8" height="8" rx="1.5" fill="#c85f62"><title>2026-05-10 — 133</title></rect>
<rect x="75" y="120" width="8" height="8" rx="1.5" fill="#ff7372"><title>2026-05-11 — 181</title></rect>
<rect x="75" y="129" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-05-12 — 1</title></rect>
<rect x="75" y="138" width="8" height="8" rx="1.5" fill="#c85f62"><title>2026-05-13 — 136</title></rect>
<rect x="75" y="147" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-05-14 — 17</title></rect>
<rect x="75" y="156" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-05-15 — 46</title></rect>
<rect x="75" y="165" width="8" height="8" rx="1.5" fill="#924b53"><title>2026-05-16 — 74</title></rect>
<rect x="75" y="174" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-05-17 — 29</title></rect>
<rect x="84" y="120" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-05-18 — 56</title></rect>
<rect x="84" y="129" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-05-19 — 10</title></rect>
<rect x="84" y="138" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-05-20 — 8</title></rect>
<rect x="84" y="147" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-05-21 — 6</title></rect>
<rect x="84" y="156" width="8" height="8" rx="1.5" fill="#924b53"><title>2026-05-22 — 69</title></rect>
<rect x="84" y="165" width="8" height="8" rx="1.5" fill="#c85f62"><title>2026-05-23 — 166</title></rect>
<rect x="84" y="174" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-05-24 — 24</title></rect>
<rect x="93" y="120" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-05-25 — 30</title></rect>
<rect x="93" y="129" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-05-26 — 2</title></rect>
<rect x="93" y="138" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-05-27 — 8</title></rect>
<rect x="93" y="147" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-05-28 — 19</title></rect>
<rect x="93" y="156" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-05-29 — 5</title></rect>
<rect x="93" y="165" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-05-30 — 21</title></rect>
<rect x="93" y="174" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-05-31 — 3</title></rect>
<rect x="102" y="120" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-06-01 — 26</title></rect>
<rect x="102" y="129" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-06-02 — 12</title></rect>
<rect x="102" y="138" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-06-03 — 8</title></rect>
<rect x="102" y="147" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-06-04 — 45</title></rect>
<rect x="102" y="156" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-06-05 — 33</title></rect>
<rect x="102" y="165" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-06-06 — 3</title></rect>
<rect x="102" y="174" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-06-07 — 3</title></rect>
<rect x="111" y="120" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-06-08 — 16</title></rect>
<rect x="111" y="129" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-06-09 — 8</title></rect>
<rect x="111" y="138" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-06-10 — 18</title></rect>
<rect x="111" y="147" width="8" height="8" rx="1.5" fill="#924b53"><title>2026-06-11 — 60</title></rect>
<rect x="111" y="156" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-06-12 — 32</title></rect>
<rect x="111" y="165" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-06-13 — 8</title></rect>
<rect x="111" y="174" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-06-14 — 8</title></rect>
<rect x="120" y="120" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-06-15 — 33</title></rect>
<rect x="120" y="129" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-06-16 — 4</title></rect>
<rect x="120" y="138" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-06-17 — 12</title></rect>
<rect x="120" y="147" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-06-18 — 2</title></rect>
<rect x="120" y="156" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-06-19 — 9</title></rect>
<rect x="120" y="165" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-06-20 — 9</title></rect>
<rect x="120" y="174" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-06-21 — 10</title></rect>
<rect x="129" y="120" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-06-22 — 5</title></rect>
<rect x="129" y="129" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-06-23 — 4</title></rect>
<rect x="129" y="138" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-06-24 — 8</title></rect>
<rect x="129" y="147" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-06-25 — 32</title></rect>
<rect x="129" y="156" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-06-26 — 12</title></rect>
<rect x="129" y="165" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-06-27 — 19</title></rect>
<rect x="129" y="174" width="8" height="8" rx="1.5" fill="#c85f62"><title>2026-06-28 — 130</title></rect>
<rect x="138" y="120" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-06-29 — 40</title></rect>
<rect x="138" y="129" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-06-30 — 11</title></rect>
<rect x="138" y="138" width="8" height="8" rx="1.5" fill="#924b53"><title>2026-07-01 — 61</title></rect>
<rect x="138" y="147" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-07-02 — 15</title></rect>
<rect x="138" y="156" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-07-03 — 37</title></rect>
<rect x="138" y="165" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-07-04 — 9</title></rect>
<rect x="138" y="174" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-07-05 — 6</title></rect>
<rect x="147" y="120" width="8" height="8" rx="1.5" fill="#924b53"><title>2026-07-06 — 90</title></rect>
<rect x="147" y="129" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-07-07 — 35</title></rect>
<rect x="147" y="138" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-07-08 — 6</title></rect>
<rect x="147" y="147" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-07-09 — 35</title></rect>
<rect x="147" y="156" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-07-10 — 8</title></rect>
<rect x="147" y="165" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-07-11 — 6</title></rect>
<rect x="147" y="174" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-07-12 — 3</title></rect>
<rect x="156" y="120" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-07-13 — 3</title></rect>
<rect x="156" y="129" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-07-14 — 32</title></rect>
<rect x="156" y="138" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-07-15 — 17</title></rect>
<rect x="156" y="147" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-07-16 — 17</title></rect>
<rect x="156" y="156" width="8" height="8" rx="1.5" fill="#924b53"><title>2026-07-17 — 98</title></rect>
<rect x="156" y="165" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-07-18 — 42</title></rect>
<rect x="156" y="174" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-07-19 — 14</title></rect>
<rect x="165" y="120" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-07-20 — 28</title></rect>
<rect x="165" y="129" width="8" height="8" rx="1.5" fill="#c85f62"><title>2026-07-21 — 125</title></rect>
<rect x="165" y="138" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-07-22 — 39</title></rect>
<rect x="165" y="147" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-07-23 — 35</title></rect>
<rect x="165" y="156" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-07-24 — 14</title></rect>
<rect x="165" y="165" width="8" height="8" rx="1.5" fill="#ff7372"><title>2026-07-25 — 176</title></rect>
<rect x="165" y="174" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-07-26 — 44</title></rect>
<rect x="174" y="120" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-07-27 — 2</title></rect>
<rect x="174" y="129" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-07-28 — 2</title></rect>
<rect x="174" y="138" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-07-29 — 23</title></rect>
<rect x="174" y="147" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-07-30 — 17</title></rect>
<rect x="174" y="156" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-07-31 — 2</title></rect>
<rect x="174" y="165" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-08-01 — 12</title></rect>
<rect x="174" y="174" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-08-02 — 1</title></rect>
<rect x="183" y="120" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-08-03 — 13</title></rect>
<rect x="183" y="129" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-08-04 — 30</title></rect>
<rect x="183" y="138" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-08-05 — 25</title></rect>
<rect x="183" y="147" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-08-06 — 19</title></rect>
<rect x="183" y="156" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-08-07 — 13</title></rect>
<rect x="183" y="165" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-08-08 — 34</title></rect>
<rect x="183" y="174" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-08-09 — 18</title></rect>
<rect x="192" y="120" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-08-10 — 14</title></rect>
<rect x="192" y="129" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-08-11 — 11</title></rect>
<rect x="192" y="138" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-08-12 — 14</title></rect>
<rect x="192" y="147" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-08-13 — 42</title></rect>
<rect x="192" y="156" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-08-14 — 56</title></rect>
<rect x="192" y="165" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-08-15 — 2</title></rect>
<rect x="192" y="174" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-08-16 — 6</title></rect>
<rect x="201" y="120" width="8" height="8" rx="1.5" fill="#924b53"><title>2026-08-17 — 93</title></rect>
<rect x="201" y="129" width="8" height="8" rx="1.5" fill="#c85f62"><title>2026-08-18 — 122</title></rect>
<rect x="201" y="138" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-08-19 — 18</title></rect>
<rect x="201" y="147" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-08-20 — 11</title></rect>
<rect x="201" y="156" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-08-21 — 1</title></rect>
<rect x="201" y="165" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-08-22 — 4</title></rect>
<rect x="201" y="174" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-08-23 — 1</title></rect>
<rect x="210" y="120" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-08-24 — 8</title></rect>
<rect x="210" y="129" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-08-25 — 47</title></rect>
<rect x="210" y="138" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-08-26 — 2</title></rect>
<rect x="210" y="147" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-08-27 — 15</title></rect>
<rect x="210" y="156" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-08-28 — 18</title></rect>
<rect x="210" y="165" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-08-29 — 8</title></rect>
<rect x="210" y="174" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-08-30 — 36</title></rect>
<rect x="219" y="120" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-08-31 — 47</title></rect>
<rect x="219" y="129" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-09-01 — 38</title></rect>
<rect x="219" y="138" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-09-02 — 14</title></rect>
<rect x="219" y="147" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-09-03 — 13</title></rect>
<rect x="219" y="156" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-09-04 — 27</title></rect>
<rect x="219" y="165" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-09-05 — 12</title></rect>
<rect x="219" y="174" width="8" height="8" rx="1.5" fill="#924b53"><title>2026-09-06 — 75</title></rect>
<rect x="228" y="120" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-09-07 — 12</title></rect>
<rect x="228" y="129" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-09-08 — 32</title></rect>
<rect x="228" y="138" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-09-09 — 22</title></rect>
<rect x="228" y="147" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-09-10 — 16</title></rect>
<rect x="228" y="156" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-09-11 — 22</title></rect>
<rect x="228" y="165" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-09-12 — 2</title></rect>
<rect x="228" y="174" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-09-13 — 4</title></rect>
<rect x="237" y="120" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-09-14 — 2</title></rect>
<rect x="237" y="129" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-09-15 — 14</title></rect>
<rect x="237" y="138" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-09-16 — 40</title></rect>
<rect x="237" y="147" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-09-17 — 11</title></rect>
<rect x="237" y="156" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-09-18 — 51</title></rect>
<rect x="237" y="165" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-09-19 — 15</title></rect>
<rect x="237" y="174" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-09-20 — 18</title></rect>
<rect x="246" y="120" width="8" height="8" rx="1.5" fill="#924b53"><title>2026-09-21 — 107</title></rect>
<rect x="246" y="129" width="8" height="8" rx="1.5" fill="#252334"><title>2026-09-22 — 0</title></rect>
<rect x="246" y="138" width="8" height="8" rx="1.5" fill="#252334"><title>2026-09-23 — 0</title></rect>
<rect x="246" y="147" width="8" height="8" rx="1.5" fill="#252334"><title>2026-09-24 — 0</title></rect>
<rect x="246" y="156" width="8" height="8" rx="1.5" fill="#252334"><title>2026-09-25 — 0</title></rect>
<rect x="246" y="165" width="8" height="8" rx="1.5" fill="#252334"><title>2026-09-26 — 0</title></rect>
<rect x="246" y="174" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-09-27 — 6</title></rect>
<rect x="255" y="120" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-09-28 — 41</title></rect>
<rect x="255" y="129" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-09-29 — 54</title></rect>
<rect x="255" y="138" width="8" height="8" rx="1.5" fill="#924b53"><title>2026-09-30 — 112</title></rect>
<rect x="255" y="147" width="8" height="8" rx="1.5" fill="#924b53"><title>2026-10-01 — 93</title></rect>
<rect x="255" y="156" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-10-02 — 36</title></rect>
<rect x="255" y="165" width="8" height="8" rx="1.5" fill="#924b53"><title>2026-10-03 — 111</title></rect>
<rect x="255" y="174" width="8" height="8" rx="1.5" fill="#924b53"><title>2026-10-04 — 78</title></rect>
<rect x="264" y="120" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-10-05 — 26</title></rect>
<rect x="264" y="129" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-10-06 — 35</title></rect>
<rect x="264" y="138" width="8" height="8" rx="1.5" fill="#5b3743"><title>2026-10-07 — 44</title></rect>
</svg>

After

Width:  |  Height:  |  Size: 40 KiB

+44
View File
@@ -0,0 +1,44 @@
<svg xmlns="http://www.w3.org/2000/svg" width="340" height="200" viewBox="0 0 340 200" font-family="'Segoe UI', Ubuntu, Sans-Serif">
<rect x="0.5" y="0.5" width="339" height="199" rx="6" fill="#252334" stroke="#000000" stroke-opacity="0.00"/>
<text x="20" y="30" font-size="15" font-weight="600" fill="#ff7372">Contributions (last year)</text>
<line x1="28" y1="45" x2="28" y2="150" stroke="#6cffd0"/>
<line x1="312" y1="45" x2="312" y2="150" stroke="#6cffd0"/>
<line x1="24" y1="150" x2="28" y2="150" stroke="#6cffd0"/>
<text x="22" y="153" font-size="10" fill="#6cffd0" text-anchor="end">0</text>
<line x1="312" y1="150" x2="316" y2="150" stroke="#6cffd0"/>
<text x="318" y="153" font-size="10" fill="#6cffd0" text-anchor="start">0</text>
<line x1="24" y1="124" x2="28" y2="124" stroke="#6cffd0"/>
<text x="22" y="127" font-size="10" fill="#6cffd0" text-anchor="end">500</text>
<line x1="312" y1="124" x2="316" y2="124" stroke="#6cffd0"/>
<text x="318" y="127" font-size="10" fill="#6cffd0" text-anchor="start">500</text>
<line x1="24" y1="98" x2="28" y2="98" stroke="#6cffd0"/>
<text x="22" y="101" font-size="10" fill="#6cffd0" text-anchor="end">1k</text>
<line x1="312" y1="98" x2="316" y2="98" stroke="#6cffd0"/>
<text x="318" y="101" font-size="10" fill="#6cffd0" text-anchor="start">1k</text>
<line x1="24" y1="72" x2="28" y2="72" stroke="#6cffd0"/>
<text x="22" y="75" font-size="10" fill="#6cffd0" text-anchor="end">1.5k</text>
<line x1="312" y1="72" x2="316" y2="72" stroke="#6cffd0"/>
<text x="318" y="75" font-size="10" fill="#6cffd0" text-anchor="start">1.5k</text>
<line x1="24" y1="45" x2="28" y2="45" stroke="#6cffd0"/>
<text x="22" y="48" font-size="10" fill="#6cffd0" text-anchor="end">2k</text>
<line x1="312" y1="45" x2="316" y2="45" stroke="#6cffd0"/>
<text x="318" y="48" font-size="10" fill="#6cffd0" text-anchor="start">2k</text>
<line x1="28" y1="150" x2="312" y2="150" stroke="#6cffd0"/>
<line x1="28" y1="150" x2="28" y2="154" stroke="#6cffd0"/>
<text x="28" y="166" font-size="10" fill="#6cffd0" text-anchor="middle">10/25</text>
<line x1="75" y1="150" x2="75" y2="154" stroke="#6cffd0"/>
<text x="75" y="166" font-size="10" fill="#6cffd0" text-anchor="middle">12/25</text>
<line x1="122" y1="150" x2="122" y2="154" stroke="#6cffd0"/>
<text x="122" y="166" font-size="10" fill="#6cffd0" text-anchor="middle">02/26</text>
<line x1="170" y1="150" x2="170" y2="154" stroke="#6cffd0"/>
<text x="170" y="166" font-size="10" fill="#6cffd0" text-anchor="middle">04/26</text>
<line x1="217" y1="150" x2="217" y2="154" stroke="#6cffd0"/>
<text x="217" y="166" font-size="10" fill="#6cffd0" text-anchor="middle">06/26</text>
<line x1="264" y1="150" x2="264" y2="154" stroke="#6cffd0"/>
<text x="264" y="166" font-size="10" fill="#6cffd0" text-anchor="middle">08/26</text>
<line x1="312" y1="150" x2="312" y2="154" stroke="#6cffd0"/>
<text x="312" y="166" font-size="10" fill="#6cffd0" text-anchor="middle">10/26</text>
<path d="M28.00,143.44 C31.94,141.51 43.78,132.69 51.67,131.89 C59.56,131.08 67.44,135.94 75.33,138.61 C83.22,141.28 91.11,147.71 99.00,147.90 C106.89,148.09 114.78,144.62 122.67,139.76 C130.56,134.91 138.44,132.47 146.33,118.76 C154.22,105.05 162.11,64.85 170.00,57.50 C177.89,50.14 185.78,64.62 193.67,74.61 C201.56,84.60 209.44,113.99 217.33,117.45 C225.22,120.91 233.11,96.41 241.00,95.35 C248.89,94.29 256.78,108.64 264.67,111.10 C272.56,113.56 280.44,107.32 288.33,110.10 C296.22,112.88 308.06,124.84 312.00,127.79 L312.00,150.00 L28.00,150.00 Z" fill="#ff7372" fill-opacity="0.25" stroke="none"/>
<path d="M28.00,143.44 C31.94,141.51 43.78,132.69 51.67,131.89 C59.56,131.08 67.44,135.94 75.33,138.61 C83.22,141.28 91.11,147.71 99.00,147.90 C106.89,148.09 114.78,144.62 122.67,139.76 C130.56,134.91 138.44,132.47 146.33,118.76 C154.22,105.05 162.11,64.85 170.00,57.50 C177.89,50.14 185.78,64.62 193.67,74.61 C201.56,84.60 209.44,113.99 217.33,117.45 C225.22,120.91 233.11,96.41 241.00,95.35 C248.89,94.29 256.78,108.64 264.67,111.10 C272.56,113.56 280.44,107.32 288.33,110.10 C296.22,112.88 308.06,124.84 312.00,127.79" fill="none" stroke="#ff7372" stroke-width="2"/>
<text x="170" y="184" font-size="11" fill="#6cffd0" text-anchor="middle">mm/yy</text>
</svg>

After

Width:  |  Height:  |  Size: 4.2 KiB

@@ -0,0 +1,25 @@
<svg xmlns="http://www.w3.org/2000/svg" width="340" height="200" viewBox="0 0 340 200" font-family="'Segoe UI', Ubuntu, Sans-Serif">
<rect x="0.5" y="0.5" width="339" height="199" rx="6" fill="#252334" stroke="#000000" stroke-opacity="0.00"/>
<text x="20" y="30" font-size="15" font-weight="600" fill="#ff7372">Most Commit Language (all time)</text>
<rect x="20" y="47" width="10" height="10" fill="#f1e05a" stroke="#252334" stroke-width="1"/>
<text x="36" y="55" font-size="11" fill="#dbdbdb">JavaScript 34.64%</text>
<rect x="20" y="67" width="10" height="10" fill="#00ADD8" stroke="#252334" stroke-width="1"/>
<text x="36" y="75" font-size="11" fill="#dbdbdb">Go 22.80%</text>
<rect x="20" y="87" width="10" height="10" fill="#e34c26" stroke="#252334" stroke-width="1"/>
<text x="36" y="95" font-size="11" fill="#dbdbdb">HTML 9.74%</text>
<rect x="20" y="107" width="10" height="10" fill="#b07219" stroke="#252334" stroke-width="1"/>
<text x="36" y="115" font-size="11" fill="#dbdbdb">Java 6.55%</text>
<rect x="20" y="127" width="10" height="10" fill="#3572A5" stroke="#252334" stroke-width="1"/>
<text x="36" y="135" font-size="11" fill="#dbdbdb">Python 5.08%</text>
<rect x="20" y="147" width="10" height="10" fill="#89e051" stroke="#252334" stroke-width="1"/>
<text x="36" y="155" font-size="11" fill="#dbdbdb">Shell 4.09%</text>
<rect x="20" y="167" width="10" height="10" fill="#ff7372" stroke="#252334" stroke-width="1"/>
<text x="36" y="175" font-size="11" fill="#dbdbdb">Other 17.09%</text>
<path d="M250.00,55.00 A55.00,55.00 0 0 1 295.22,141.31 L274.67,127.08 A30.00,30.00 0 0 0 250.00,80.00 Z" fill="#f1e05a" stroke="#252334" stroke-width="1.5"/>
<path d="M295.22,141.31 A55.00,55.00 0 0 1 225.24,159.11 L236.49,136.79 A30.00,30.00 0 0 0 274.67,127.08 Z" fill="#00ADD8" stroke="#252334" stroke-width="1.5"/>
<path d="M225.24,159.11 A55.00,55.00 0 0 1 201.51,135.96 L223.55,124.16 A30.00,30.00 0 0 0 236.49,136.79 Z" fill="#e34c26" stroke="#252334" stroke-width="1.5"/>
<path d="M201.51,135.96 A55.00,55.00 0 0 1 195.17,114.38 L220.10,112.39 A30.00,30.00 0 0 0 223.55,124.16 Z" fill="#b07219" stroke="#252334" stroke-width="1.5"/>
<path d="M195.17,114.38 A55.00,55.00 0 0 1 196.57,96.94 L220.86,102.88 A30.00,30.00 0 0 0 220.10,112.39 Z" fill="#3572A5" stroke="#252334" stroke-width="1.5"/>
<path d="M196.57,96.94 A55.00,55.00 0 0 1 201.65,83.79 L223.63,95.70 A30.00,30.00 0 0 0 220.86,102.88 Z" fill="#89e051" stroke="#252334" stroke-width="1.5"/>
<path d="M201.65,83.79 A55.00,55.00 0 0 1 250.00,55.00 L250.00,80.00 A30.00,30.00 0 0 0 223.63,95.70 Z" fill="#ff7372" stroke="#252334" stroke-width="1.5"/>
</svg>

After

Width:  |  Height:  |  Size: 2.6 KiB

+25
View File
@@ -0,0 +1,25 @@
<svg xmlns="http://www.w3.org/2000/svg" width="340" height="200" viewBox="0 0 340 200" font-family="'Segoe UI', Ubuntu, Sans-Serif">
<rect x="0.5" y="0.5" width="339" height="199" rx="6" fill="#252334" stroke="#000000" stroke-opacity="0.00"/>
<text x="20" y="30" font-size="15" font-weight="600" fill="#ff7372">Most Commit Language (last year)</text>
<rect x="20" y="47" width="10" height="10" fill="#f1e05a" stroke="#252334" stroke-width="1"/>
<text x="36" y="55" font-size="11" fill="#dbdbdb">JavaScript 37.51%</text>
<rect x="20" y="67" width="10" height="10" fill="#00ADD8" stroke="#252334" stroke-width="1"/>
<text x="36" y="75" font-size="11" fill="#dbdbdb">Go 28.78%</text>
<rect x="20" y="87" width="10" height="10" fill="#e34c26" stroke="#252334" stroke-width="1"/>
<text x="36" y="95" font-size="11" fill="#dbdbdb">HTML 6.29%</text>
<rect x="20" y="107" width="10" height="10" fill="#3572A5" stroke="#252334" stroke-width="1"/>
<text x="36" y="115" font-size="11" fill="#dbdbdb">Python 5.54%</text>
<rect x="20" y="127" width="10" height="10" fill="#ff3e00" stroke="#252334" stroke-width="1"/>
<text x="36" y="135" font-size="11" fill="#dbdbdb">Svelte 4.01%</text>
<rect x="20" y="147" width="10" height="10" fill="#89e051" stroke="#252334" stroke-width="1"/>
<text x="36" y="155" font-size="11" fill="#dbdbdb">Shell 3.76%</text>
<rect x="20" y="167" width="10" height="10" fill="#ff7372" stroke="#252334" stroke-width="1"/>
<text x="36" y="175" font-size="11" fill="#dbdbdb">Other 14.11%</text>
<path d="M250.00,55.00 A55.00,55.00 0 0 1 288.86,148.92 L271.20,131.23 A30.00,30.00 0 0 0 250.00,80.00 Z" fill="#f1e05a" stroke="#252334" stroke-width="1.5"/>
<path d="M288.86,148.92 A55.00,55.00 0 0 1 203.03,138.62 L224.38,125.61 A30.00,30.00 0 0 0 271.20,131.23 Z" fill="#00ADD8" stroke="#252334" stroke-width="1.5"/>
<path d="M203.03,138.62 A55.00,55.00 0 0 1 195.63,118.32 L220.35,114.54 A30.00,30.00 0 0 0 224.38,125.61 Z" fill="#e34c26" stroke="#252334" stroke-width="1.5"/>
<path d="M195.63,118.32 A55.00,55.00 0 0 1 196.06,99.27 L220.58,104.15 A30.00,30.00 0 0 0 220.35,114.54 Z" fill="#3572A5" stroke="#252334" stroke-width="1.5"/>
<path d="M196.06,99.27 A55.00,55.00 0 0 1 200.43,86.17 L222.96,97.00 A30.00,30.00 0 0 0 220.58,104.15 Z" fill="#ff3e00" stroke="#252334" stroke-width="1.5"/>
<path d="M200.43,86.17 A55.00,55.00 0 0 1 207.37,75.24 L226.75,91.04 A30.00,30.00 0 0 0 222.96,97.00 Z" fill="#89e051" stroke="#252334" stroke-width="1.5"/>
<path d="M207.37,75.24 A55.00,55.00 0 0 1 250.00,55.00 L250.00,80.00 A30.00,30.00 0 0 0 226.75,91.04 Z" fill="#ff7372" stroke="#252334" stroke-width="1.5"/>
</svg>

After

Width:  |  Height:  |  Size: 2.6 KiB

@@ -0,0 +1,55 @@
<svg xmlns="http://www.w3.org/2000/svg" width="340" height="200" viewBox="0 0 340 200" font-family="'Segoe UI', Ubuntu, Sans-Serif">
<rect x="0.5" y="0.5" width="339" height="199" rx="6" fill="#252334" stroke="#000000" stroke-opacity="0.00"/>
<text x="20" y="30" font-size="15" font-weight="600" fill="#ff7372">Commits by Hour (all time, UTC+7)</text>
<line x1="35" y1="45" x2="35" y2="155" stroke="#6cffd0"/>
<line x1="31" y1="155" x2="35" y2="155" stroke="#6cffd0"/>
<text x="29" y="158" font-size="10" fill="#6cffd0" text-anchor="end">0</text>
<line x1="31" y1="137" x2="35" y2="137" stroke="#6cffd0"/>
<text x="29" y="140" font-size="10" fill="#6cffd0" text-anchor="end">100</text>
<line x1="31" y1="119" x2="35" y2="119" stroke="#6cffd0"/>
<text x="29" y="122" font-size="10" fill="#6cffd0" text-anchor="end">200</text>
<line x1="31" y1="100" x2="35" y2="100" stroke="#6cffd0"/>
<text x="29" y="103" font-size="10" fill="#6cffd0" text-anchor="end">300</text>
<line x1="31" y1="82" x2="35" y2="82" stroke="#6cffd0"/>
<text x="29" y="85" font-size="10" fill="#6cffd0" text-anchor="end">400</text>
<line x1="31" y1="64" x2="35" y2="64" stroke="#6cffd0"/>
<text x="29" y="67" font-size="10" fill="#6cffd0" text-anchor="end">500</text>
<line x1="31" y1="45" x2="35" y2="45" stroke="#6cffd0"/>
<text x="29" y="48" font-size="10" fill="#6cffd0" text-anchor="end">600</text>
<line x1="35" y1="155" x2="325" y2="155" stroke="#6cffd0"/>
<line x1="40" y1="155" x2="40" y2="159" stroke="#6cffd0"/>
<text x="40" y="171" font-size="10" fill="#6cffd0" text-anchor="middle">0</text>
<line x1="113" y1="155" x2="113" y2="159" stroke="#6cffd0"/>
<text x="113" y="171" font-size="10" fill="#6cffd0" text-anchor="middle">6</text>
<line x1="186" y1="155" x2="186" y2="159" stroke="#6cffd0"/>
<text x="186" y="171" font-size="10" fill="#6cffd0" text-anchor="middle">12</text>
<line x1="258" y1="155" x2="258" y2="159" stroke="#6cffd0"/>
<text x="258" y="171" font-size="10" fill="#6cffd0" text-anchor="middle">18</text>
<line x1="319" y1="155" x2="319" y2="159" stroke="#6cffd0"/>
<text x="319" y="171" font-size="10" fill="#6cffd0" text-anchor="middle">23</text>
<rect x="35.00" y="101.28" width="11.12" height="53.72" rx="2" fill="#ff7372"><title>00:00 — 293 commits</title></rect>
<rect x="47.12" y="136.30" width="11.12" height="18.70" rx="2" fill="#ff7372"><title>01:00 — 102 commits</title></rect>
<rect x="59.25" y="145.10" width="11.12" height="9.90" rx="2" fill="#ff7372"><title>02:00 — 54 commits</title></rect>
<rect x="71.38" y="149.87" width="11.12" height="5.13" rx="2" fill="#ff7372"><title>03:00 — 28 commits</title></rect>
<rect x="83.50" y="153.35" width="11.12" height="1.65" rx="2" fill="#ff7372"><title>04:00 — 9 commits</title></rect>
<rect x="95.62" y="153.90" width="11.12" height="1.10" rx="2" fill="#ff7372"><title>05:00 — 6 commits</title></rect>
<rect x="107.75" y="152.80" width="11.12" height="2.20" rx="2" fill="#ff7372"><title>06:00 — 12 commits</title></rect>
<rect x="119.88" y="151.15" width="11.12" height="3.85" rx="2" fill="#ff7372"><title>07:00 — 21 commits</title></rect>
<rect x="132.00" y="135.20" width="11.12" height="19.80" rx="2" fill="#ff7372"><title>08:00 — 108 commits</title></rect>
<rect x="144.12" y="85.15" width="11.12" height="69.85" rx="2" fill="#ff7372"><title>09:00 — 381 commits</title></rect>
<rect x="156.25" y="68.83" width="11.12" height="86.17" rx="2" fill="#ff7372"><title>10:00 — 470 commits</title></rect>
<rect x="168.38" y="74.88" width="11.12" height="80.12" rx="2" fill="#ff7372"><title>11:00 — 437 commits</title></rect>
<rect x="180.50" y="104.40" width="11.12" height="50.60" rx="2" fill="#ff7372"><title>12:00 — 276 commits</title></rect>
<rect x="192.62" y="87.72" width="11.12" height="67.28" rx="2" fill="#ff7372"><title>13:00 — 367 commits</title></rect>
<rect x="204.75" y="86.80" width="11.12" height="68.20" rx="2" fill="#ff7372"><title>14:00 — 372 commits</title></rect>
<rect x="216.88" y="95.23" width="11.12" height="59.77" rx="2" fill="#ff7372"><title>15:00 — 326 commits</title></rect>
<rect x="229.00" y="80.02" width="11.12" height="74.98" rx="2" fill="#ff7372"><title>16:00 — 409 commits</title></rect>
<rect x="241.12" y="83.50" width="11.12" height="71.50" rx="2" fill="#ff7372"><title>17:00 — 390 commits</title></rect>
<rect x="253.25" y="105.32" width="11.12" height="49.68" rx="2" fill="#ff7372"><title>18:00 — 271 commits</title></rect>
<rect x="265.38" y="115.95" width="11.12" height="39.05" rx="2" fill="#ff7372"><title>19:00 — 213 commits</title></rect>
<rect x="277.50" y="65.72" width="11.12" height="89.28" rx="2" fill="#ff7372"><title>20:00 — 487 commits</title></rect>
<rect x="289.62" y="46.28" width="11.12" height="108.72" rx="2" fill="#ff7372"><title>21:00 — 593 commits</title></rect>
<rect x="301.75" y="60.77" width="11.12" height="94.23" rx="2" fill="#ff7372"><title>22:00 — 514 commits</title></rect>
<rect x="313.88" y="69.93" width="11.12" height="85.07" rx="2" fill="#ff7372"><title>23:00 — 464 commits</title></rect>
<text x="180" y="189" font-size="11" fill="#6cffd0" text-anchor="middle">hour of day</text>
</svg>

After

Width:  |  Height:  |  Size: 5.1 KiB

+51
View File
@@ -0,0 +1,51 @@
<svg xmlns="http://www.w3.org/2000/svg" width="340" height="200" viewBox="0 0 340 200" font-family="'Segoe UI', Ubuntu, Sans-Serif">
<rect x="0.5" y="0.5" width="339" height="199" rx="6" fill="#252334" stroke="#000000" stroke-opacity="0.00"/>
<text x="20" y="30" font-size="15" font-weight="600" fill="#ff7372">Commits by Hour (last year, UTC+7)</text>
<line x1="35" y1="45" x2="35" y2="155" stroke="#6cffd0"/>
<line x1="31" y1="155" x2="35" y2="155" stroke="#6cffd0"/>
<text x="29" y="158" font-size="10" fill="#6cffd0" text-anchor="end">0</text>
<line x1="31" y1="128" x2="35" y2="128" stroke="#6cffd0"/>
<text x="29" y="131" font-size="10" fill="#6cffd0" text-anchor="end">100</text>
<line x1="31" y1="100" x2="35" y2="100" stroke="#6cffd0"/>
<text x="29" y="103" font-size="10" fill="#6cffd0" text-anchor="end">200</text>
<line x1="31" y1="73" x2="35" y2="73" stroke="#6cffd0"/>
<text x="29" y="76" font-size="10" fill="#6cffd0" text-anchor="end">300</text>
<line x1="31" y1="45" x2="35" y2="45" stroke="#6cffd0"/>
<text x="29" y="48" font-size="10" fill="#6cffd0" text-anchor="end">400</text>
<line x1="35" y1="155" x2="325" y2="155" stroke="#6cffd0"/>
<line x1="40" y1="155" x2="40" y2="159" stroke="#6cffd0"/>
<text x="40" y="171" font-size="10" fill="#6cffd0" text-anchor="middle">0</text>
<line x1="113" y1="155" x2="113" y2="159" stroke="#6cffd0"/>
<text x="113" y="171" font-size="10" fill="#6cffd0" text-anchor="middle">6</text>
<line x1="186" y1="155" x2="186" y2="159" stroke="#6cffd0"/>
<text x="186" y="171" font-size="10" fill="#6cffd0" text-anchor="middle">12</text>
<line x1="258" y1="155" x2="258" y2="159" stroke="#6cffd0"/>
<text x="258" y="171" font-size="10" fill="#6cffd0" text-anchor="middle">18</text>
<line x1="319" y1="155" x2="319" y2="159" stroke="#6cffd0"/>
<text x="319" y="171" font-size="10" fill="#6cffd0" text-anchor="middle">23</text>
<rect x="35.00" y="102.47" width="11.12" height="52.52" rx="2" fill="#ff7372"><title>00:00 — 191 commits</title></rect>
<rect x="47.12" y="137.40" width="11.12" height="17.60" rx="2" fill="#ff7372"><title>01:00 — 64 commits</title></rect>
<rect x="59.25" y="143.18" width="11.12" height="11.82" rx="2" fill="#ff7372"><title>02:00 — 43 commits</title></rect>
<rect x="71.38" y="149.22" width="11.12" height="5.78" rx="2" fill="#ff7372"><title>03:00 — 21 commits</title></rect>
<rect x="83.50" y="155.00" width="11.12" height="0.00" rx="2" fill="#ff7372"><title>04:00 — 0 commits</title></rect>
<rect x="95.62" y="155.00" width="11.12" height="0.00" rx="2" fill="#ff7372"><title>05:00 — 0 commits</title></rect>
<rect x="107.75" y="154.45" width="11.12" height="0.55" rx="2" fill="#ff7372"><title>06:00 — 2 commits</title></rect>
<rect x="119.88" y="153.07" width="11.12" height="1.93" rx="2" fill="#ff7372"><title>07:00 — 7 commits</title></rect>
<rect x="132.00" y="132.18" width="11.12" height="22.82" rx="2" fill="#ff7372"><title>08:00 — 83 commits</title></rect>
<rect x="144.12" y="61.22" width="11.12" height="93.78" rx="2" fill="#ff7372"><title>09:00 — 341 commits</title></rect>
<rect x="156.25" y="48.30" width="11.12" height="106.70" rx="2" fill="#ff7372"><title>10:00 — 388 commits</title></rect>
<rect x="168.38" y="68.38" width="11.12" height="86.62" rx="2" fill="#ff7372"><title>11:00 — 315 commits</title></rect>
<rect x="180.50" y="101.65" width="11.12" height="53.35" rx="2" fill="#ff7372"><title>12:00 — 194 commits</title></rect>
<rect x="192.62" y="74.97" width="11.12" height="80.03" rx="2" fill="#ff7372"><title>13:00 — 291 commits</title></rect>
<rect x="204.75" y="78.83" width="11.12" height="76.17" rx="2" fill="#ff7372"><title>14:00 — 277 commits</title></rect>
<rect x="216.88" y="78.00" width="11.12" height="77.00" rx="2" fill="#ff7372"><title>15:00 — 280 commits</title></rect>
<rect x="229.00" y="56.28" width="11.12" height="98.72" rx="2" fill="#ff7372"><title>16:00 — 359 commits</title></rect>
<rect x="241.12" y="61.50" width="11.12" height="93.50" rx="2" fill="#ff7372"><title>17:00 — 340 commits</title></rect>
<rect x="253.25" y="103.85" width="11.12" height="51.15" rx="2" fill="#ff7372"><title>18:00 — 186 commits</title></rect>
<rect x="265.38" y="117.60" width="11.12" height="37.40" rx="2" fill="#ff7372"><title>19:00 — 136 commits</title></rect>
<rect x="277.50" y="65.62" width="11.12" height="89.38" rx="2" fill="#ff7372"><title>20:00 — 325 commits</title></rect>
<rect x="289.62" y="51.05" width="11.12" height="103.95" rx="2" fill="#ff7372"><title>21:00 — 378 commits</title></rect>
<rect x="301.75" y="58.20" width="11.12" height="96.80" rx="2" fill="#ff7372"><title>22:00 — 352 commits</title></rect>
<rect x="313.88" y="71.67" width="11.12" height="83.33" rx="2" fill="#ff7372"><title>23:00 — 303 commits</title></rect>
<text x="180" y="189" font-size="11" fill="#6cffd0" text-anchor="middle">hour of day</text>
</svg>

After

Width:  |  Height:  |  Size: 4.9 KiB

@@ -0,0 +1,36 @@
<svg xmlns="http://www.w3.org/2000/svg" width="340" height="200" viewBox="0 0 340 200" font-family="'Segoe UI', Ubuntu, Sans-Serif">
<rect x="0.5" y="0.5" width="339" height="199" rx="6" fill="#252334" stroke="#000000" stroke-opacity="0.00"/>
<text x="20" y="30" font-size="15" font-weight="600" fill="#ff7372">Commits by Weekday (all time)</text>
<line x1="35" y1="45" x2="35" y2="155" stroke="#6cffd0"/>
<line x1="31" y1="155" x2="35" y2="155" stroke="#6cffd0"/>
<text x="29" y="158" font-size="10" fill="#6cffd0" text-anchor="end">0</text>
<line x1="31" y1="140" x2="35" y2="140" stroke="#6cffd0"/>
<text x="29" y="143" font-size="10" fill="#6cffd0" text-anchor="end">200</text>
<line x1="31" y1="124" x2="35" y2="124" stroke="#6cffd0"/>
<text x="29" y="127" font-size="10" fill="#6cffd0" text-anchor="end">400</text>
<line x1="31" y1="108" x2="35" y2="108" stroke="#6cffd0"/>
<text x="29" y="111" font-size="10" fill="#6cffd0" text-anchor="end">600</text>
<line x1="31" y1="93" x2="35" y2="93" stroke="#6cffd0"/>
<text x="29" y="96" font-size="10" fill="#6cffd0" text-anchor="end">800</text>
<line x1="31" y1="77" x2="35" y2="77" stroke="#6cffd0"/>
<text x="29" y="80" font-size="10" fill="#6cffd0" text-anchor="end">1k</text>
<line x1="31" y1="61" x2="35" y2="61" stroke="#6cffd0"/>
<text x="29" y="64" font-size="10" fill="#6cffd0" text-anchor="end">1.2k</text>
<line x1="31" y1="45" x2="35" y2="45" stroke="#6cffd0"/>
<text x="29" y="48" font-size="10" fill="#6cffd0" text-anchor="end">1.4k</text>
<line x1="35" y1="155" x2="325" y2="155" stroke="#6cffd0"/>
<rect x="35.00" y="75.33" width="36.29" height="79.67" rx="2" fill="#9c4f56"><title>Mon — 1014 commits</title></rect>
<text x="53.14" y="169" font-size="10" fill="#6cffd0" text-anchor="middle">Mon</text>
<rect x="77.29" y="84.52" width="36.29" height="70.48" rx="2" fill="#9c4f56"><title>Tue — 897 commits</title></rect>
<text x="95.43" y="169" font-size="10" fill="#6cffd0" text-anchor="middle">Tue</text>
<rect x="119.57" y="84.13" width="36.29" height="70.87" rx="2" fill="#9c4f56"><title>Wed — 902 commits</title></rect>
<text x="137.71" y="169" font-size="10" fill="#6cffd0" text-anchor="middle">Wed</text>
<rect x="161.86" y="97.96" width="36.29" height="57.04" rx="2" fill="#9c4f56"><title>Thu — 726 commits</title></rect>
<text x="180.00" y="169" font-size="10" fill="#6cffd0" text-anchor="middle">Thu</text>
<rect x="204.14" y="96.94" width="36.29" height="58.06" rx="2" fill="#9c4f56"><title>Fri — 739 commits</title></rect>
<text x="222.29" y="169" font-size="10" fill="#6cffd0" text-anchor="middle">Fri</text>
<rect x="246.43" y="53.56" width="36.29" height="101.44" rx="2" fill="#ff7372"><title>Sat — 1291 commits</title></rect>
<text x="264.57" y="169" font-size="10" fill="#6cffd0" text-anchor="middle">Sat</text>
<rect x="288.71" y="73.76" width="36.29" height="81.24" rx="2" fill="#9c4f56"><title>Sun — 1034 commits</title></rect>
<text x="306.86" y="169" font-size="10" fill="#6cffd0" text-anchor="middle">Sun</text>
</svg>

After

Width:  |  Height:  |  Size: 3.0 KiB

+32
View File
@@ -0,0 +1,32 @@
<svg xmlns="http://www.w3.org/2000/svg" width="340" height="200" viewBox="0 0 340 200" font-family="'Segoe UI', Ubuntu, Sans-Serif">
<rect x="0.5" y="0.5" width="339" height="199" rx="6" fill="#252334" stroke="#000000" stroke-opacity="0.00"/>
<text x="20" y="30" font-size="15" font-weight="600" fill="#ff7372">Commits by Weekday (last year)</text>
<line x1="35" y1="45" x2="35" y2="155" stroke="#6cffd0"/>
<line x1="31" y1="155" x2="35" y2="155" stroke="#6cffd0"/>
<text x="29" y="158" font-size="10" fill="#6cffd0" text-anchor="end">0</text>
<line x1="31" y1="133" x2="35" y2="133" stroke="#6cffd0"/>
<text x="29" y="136" font-size="10" fill="#6cffd0" text-anchor="end">200</text>
<line x1="31" y1="111" x2="35" y2="111" stroke="#6cffd0"/>
<text x="29" y="114" font-size="10" fill="#6cffd0" text-anchor="end">400</text>
<line x1="31" y1="89" x2="35" y2="89" stroke="#6cffd0"/>
<text x="29" y="92" font-size="10" fill="#6cffd0" text-anchor="end">600</text>
<line x1="31" y1="67" x2="35" y2="67" stroke="#6cffd0"/>
<text x="29" y="70" font-size="10" fill="#6cffd0" text-anchor="end">800</text>
<line x1="31" y1="45" x2="35" y2="45" stroke="#6cffd0"/>
<text x="29" y="48" font-size="10" fill="#6cffd0" text-anchor="end">1k</text>
<line x1="35" y1="155" x2="325" y2="155" stroke="#6cffd0"/>
<rect x="35.00" y="68.43" width="36.29" height="86.57" rx="2" fill="#9c4f56"><title>Mon — 787 commits</title></rect>
<text x="53.14" y="169" font-size="10" fill="#6cffd0" text-anchor="middle">Mon</text>
<rect x="77.29" y="81.41" width="36.29" height="73.59" rx="2" fill="#9c4f56"><title>Tue — 669 commits</title></rect>
<text x="95.43" y="169" font-size="10" fill="#6cffd0" text-anchor="middle">Tue</text>
<rect x="119.57" y="74.81" width="36.29" height="80.19" rx="2" fill="#9c4f56"><title>Wed — 729 commits</title></rect>
<text x="137.71" y="169" font-size="10" fill="#6cffd0" text-anchor="middle">Wed</text>
<rect x="161.86" y="97.58" width="36.29" height="57.42" rx="2" fill="#9c4f56"><title>Thu — 522 commits</title></rect>
<text x="180.00" y="169" font-size="10" fill="#6cffd0" text-anchor="middle">Thu</text>
<rect x="204.14" y="91.31" width="36.29" height="63.69" rx="2" fill="#9c4f56"><title>Fri — 579 commits</title></rect>
<text x="222.29" y="169" font-size="10" fill="#6cffd0" text-anchor="middle">Fri</text>
<rect x="246.43" y="51.05" width="36.29" height="103.95" rx="2" fill="#ff7372"><title>Sat — 945 commits</title></rect>
<text x="264.57" y="169" font-size="10" fill="#6cffd0" text-anchor="middle">Sat</text>
<rect x="288.71" y="84.05" width="36.29" height="70.95" rx="2" fill="#9c4f56"><title>Sun — 645 commits</title></rect>
<text x="306.86" y="169" font-size="10" fill="#6cffd0" text-anchor="middle">Sun</text>
</svg>

After

Width:  |  Height:  |  Size: 2.7 KiB

+16
View File
@@ -0,0 +1,16 @@
<svg xmlns="http://www.w3.org/2000/svg" width="340" height="200" viewBox="0 0 340 200" font-family="'Segoe UI', Ubuntu, Sans-Serif">
<rect x="0.5" y="0.5" width="339" height="199" rx="6" fill="#252334" stroke="#000000" stroke-opacity="0.00"/>
<text x="20" y="30" font-size="15" font-weight="600" fill="#ff7372">tiennm99 (Tien Nguyen Minh)</text>
<g transform="translate(20,50.00) scale(0.750)" fill="#6cffd0"><path fill-rule="evenodd" d="M1.5 14.25c0 .138.112.25.25.25H4v-1.25a.75.75 0 01.75-.75h2.5a.75.75 0 01.75.75v1.25h2.25a.25.25 0 00.25-.25V1.75a.25.25 0 00-.25-.25h-8.5a.25.25 0 00-.25.25v12.5zM1.75 16A1.75 1.75 0 010 14.25V1.75C0 .784.784 0 1.75 0h8.5C11.216 0 12 .784 12 1.75v12.5c0 .085-.006.168-.018.25h2.268a.25.25 0 00.25-.25V8.285a.25.25 0 00-.111-.208l-1.055-.703a.75.75 0 11.832-1.248l1.055.703c.487.325.779.871.779 1.456v5.965A1.75 1.75 0 0114.25 16h-3.5a.75.75 0 01-.197-.026c-.099.017-.2.026-.303.026h-3a.75.75 0 01-.75-.75V14h-1v1.25a.75.75 0 01-.75.75h-3zM3 3.75A.75.75 0 013.75 3h.5a.75.75 0 010 1.5h-.5A.75.75 0 013 3.75zM3.75 6a.75.75 0 000 1.5h.5a.75.75 0 000-1.5h-.5zM3 9.75A.75.75 0 013.75 9h.5a.75.75 0 010 1.5h-.5A.75.75 0 013 9.75zM7.75 9a.75.75 0 000 1.5h.5a.75.75 0 000-1.5h-.5zM7 6.75A.75.75 0 017.75 6h.5a.75.75 0 010 1.5h-.5A.75.75 0 017 6.75zM7.75 3a.75.75 0 000 1.5h.5a.75.75 0 000-1.5h-.5z"/></g>
<text x="40" y="60" font-size="12" fill="#dbdbdb">VNG Corporation</text>
<g transform="translate(20,70.00) scale(0.750)" fill="#6cffd0"><path fill-rule="evenodd" d="M11.536 3.464a5 5 0 010 7.072L8 14.07l-3.536-3.535a5 5 0 117.072-7.072v.001zm1.06 8.132a6.5 6.5 0 10-9.192 0l3.535 3.536a1.5 1.5 0 002.122 0l3.535-3.536zM8 9a2 2 0 100-4 2 2 0 000 4z"/></g>
<text x="40" y="80" font-size="12" fill="#dbdbdb">Ho Chi Minh - Viet Nam</text>
<g transform="translate(20,90.00) scale(0.750)" fill="#6cffd0"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"/></g>
<text x="40" y="100" font-size="12" fill="#dbdbdb">miti99.com</text>
<g transform="translate(20,110.00) scale(0.750)" fill="#6cffd0"><path fill-rule="evenodd" d="M1.5 8a6.5 6.5 0 1113 0 6.5 6.5 0 01-13 0zM8 0a8 8 0 100 16A8 8 0 008 0zm.5 4.75a.75.75 0 00-1.5 0v3.5a.75.75 0 00.471.696l2.5 1a.75.75 0 00.557-1.392L8.5 7.742V4.75z"/></g>
<text x="40" y="120" font-size="12" fill="#dbdbdb">2018-05-07 (8 years ago)</text>
<g transform="translate(20,130.00) scale(0.750)" fill="#6cffd0"><path fill-rule="evenodd" d="M5.5 3.5a2 2 0 100 4 2 2 0 000-4zM2 5.5a3.5 3.5 0 115.898 2.549 5.507 5.507 0 013.034 4.084.75.75 0 11-1.482.235 4.001 4.001 0 00-7.9 0 .75.75 0 01-1.482-.236A5.507 5.507 0 013.102 8.05 3.49 3.49 0 012 5.5zM11 4a.75.75 0 100 1.5 1.5 1.5 0 01.666 2.844.75.75 0 00-.416.672v.352a.75.75 0 00.574.73c1.2.289 2.162 1.2 2.522 2.372a.75.75 0 101.434-.44 5.01 5.01 0 00-2.56-3.012A3 3 0 0011 4z"/></g>
<text x="40" y="140" font-size="12" fill="#dbdbdb">15 followers · 16 following</text>
<g transform="translate(20,150.00) scale(0.750)" fill="#6cffd0"><path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"/></g>
<text x="40" y="160" font-size="12" fill="#dbdbdb">197 repos</text>
</svg>

After

Width:  |  Height:  |  Size: 3.7 KiB

+22
View File
@@ -0,0 +1,22 @@
<svg xmlns="http://www.w3.org/2000/svg" width="340" height="200" viewBox="0 0 340 200" font-family="'Segoe UI', Ubuntu, Sans-Serif">
<rect x="0.5" y="0.5" width="339" height="199" rx="6" fill="#252334" stroke="#000000" stroke-opacity="0.00"/>
<text x="20" y="30" font-size="15" font-weight="600" fill="#ff7372">Records (all time)</text>
<g transform="translate(20,45.00) scale(0.750)" fill="#6cffd0"><path fill-rule="evenodd" d="M10.5 7.75a2.5 2.5 0 11-5 0 2.5 2.5 0 015 0zm1.43.75a4.002 4.002 0 01-7.86 0H.75a.75.75 0 110-1.5h3.32a4.001 4.001 0 017.86 0h3.32a.75.75 0 110 1.5h-3.32z"/></g>
<text x="40" y="55" font-size="12" fill="#dbdbdb">Best day</text>
<text x="320" y="55" font-size="12" font-weight="600" fill="#ff7372" text-anchor="end">228 on 2026-05-09</text>
<g transform="translate(20,65.00) scale(0.750)" fill="#6cffd0"><path fill-rule="evenodd" d="M8 .25a.75.75 0 01.673.418l1.882 3.815 4.21.612a.75.75 0 01.416 1.279l-3.046 2.97.719 4.192a.75.75 0 01-1.088.791L8 12.347l-3.766 1.98a.75.75 0 01-1.088-.79l.72-4.194L.818 6.374a.75.75 0 01.416-1.28l4.21-.611L7.327.668A.75.75 0 018 .25zm0 2.445L6.615 5.5a.75.75 0 01-.564.41l-3.097.45 2.24 2.184a.75.75 0 01.216.664l-.528 3.084 2.769-1.456a.75.75 0 01.698 0l2.77 1.456-.53-3.084a.75.75 0 01.216-.664l2.24-2.183-3.096-.45a.75.75 0 01-.564-.41L8 2.694v.001z"/></g>
<text x="40" y="75" font-size="12" fill="#dbdbdb">Best month</text>
<text x="320" y="75" font-size="12" font-weight="600" fill="#ff7372" text-anchor="end">1,762 in Apr 2026</text>
<g transform="translate(20,85.00) scale(0.750)" fill="#6cffd0"><path fill-rule="evenodd" d="M4.75 0a.75.75 0 01.75.75V2h5V.75a.75.75 0 011.5 0V2h1.25c.966 0 1.75.784 1.75 1.75v10.5A1.75 1.75 0 0113.25 16H2.75A1.75 1.75 0 011 14.25V3.75C1 2.784 1.784 2 2.75 2H4V.75A.75.75 0 014.75 0zm0 3.5h8.5a.25.25 0 01.25.25V6h-11V3.75a.25.25 0 01.25-.25h2zM2.5 7.5v6.75c0 .138.112.25.25.25h10.5a.25.25 0 00.25-.25V7.5h-11z"/></g>
<text x="40" y="95" font-size="12" fill="#dbdbdb">First contribution</text>
<text x="320" y="95" font-size="12" font-weight="600" fill="#ff7372" text-anchor="end">2018-05-08</text>
<g transform="translate(20,105.00) scale(0.750)" fill="#6cffd0"><path d="M1.643 3.143L.427 1.927A.25.25 0 000 2.104V5.75c0 .138.112.25.25.25h3.646a.25.25 0 00.177-.427L2.715 4.215a6.5 6.5 0 11-1.18 4.456.75.75 0 10-1.493.154 8.001 8.001 0 101.6-5.682zM7.75 4a.75.75 0 01.75.75v2.992l2.028.812a.75.75 0 01-.557 1.392l-2.5-1A.75.75 0 017 8.25v-3.5A.75.75 0 017.75 4z"/></g>
<text x="40" y="115" font-size="12" fill="#dbdbdb">Active days</text>
<text x="320" y="115" font-size="12" font-weight="600" fill="#ff7372" text-anchor="end">748</text>
<g transform="translate(20,125.00) scale(0.750)" fill="#6cffd0"><path fill-rule="evenodd" d="M1.5 8a6.5 6.5 0 1113 0 6.5 6.5 0 01-13 0zM8 0a8 8 0 100 16A8 8 0 008 0zm.5 4.75a.75.75 0 00-1.5 0v3.5a.75.75 0 00.471.696l2.5 1a.75.75 0 00.557-1.392L8.5 7.742V4.75z"/></g>
<text x="40" y="135" font-size="12" fill="#dbdbdb">On GitHub</text>
<text x="320" y="135" font-size="12" font-weight="600" fill="#ff7372" text-anchor="end">8.4 years</text>
<g transform="translate(20,145.00) scale(0.750)" fill="#6cffd0"><path fill-rule="evenodd" d="M1.543 7.25h2.733c.144-2.074.866-3.756 1.58-4.948.12-.197.237-.381.353-.552a6.506 6.506 0 00-4.666 5.5zm2.733 1.5H1.543a6.506 6.506 0 004.666 5.5 11.13 11.13 0 01-.352-.552c-.715-1.192-1.437-2.874-1.581-4.948zm1.504 0h4.44a9.637 9.637 0 01-1.363 4.177c-.306.51-.612.919-.857 1.215-.245-.296-.55-.705-.857-1.215A9.638 9.638 0 015.78 8.75zM10.22 7.25H5.78a9.637 9.637 0 011.363-4.177c.306-.51.612-.919.857-1.215.245.296.55.705.857 1.215A9.638 9.638 0 0110.22 7.25zm1.504 1.5c-.144 2.074-.866 3.756-1.58 4.948-.12.197-.237.381-.353.552a6.506 6.506 0 004.666-5.5h-2.733zm2.733-1.5h-2.733c-.144-2.074-.866-3.756-1.58-4.948a11.13 11.13 0 00-.353-.552 6.506 6.506 0 014.666 5.5zM8 0a8 8 0 100 16A8 8 0 008 0z"/></g>
<text x="40" y="155" font-size="12" fill="#dbdbdb">Languages used</text>
<text x="320" y="155" font-size="12" font-weight="600" fill="#ff7372" text-anchor="end">54</text>
</svg>

After

Width:  |  Height:  |  Size: 4.0 KiB

+25
View File
@@ -0,0 +1,25 @@
<svg xmlns="http://www.w3.org/2000/svg" width="340" height="200" viewBox="0 0 340 200" font-family="'Segoe UI', Ubuntu, Sans-Serif">
<rect x="0.5" y="0.5" width="339" height="199" rx="6" fill="#252334" stroke="#000000" stroke-opacity="0.00"/>
<text x="20" y="30" font-size="15" font-weight="600" fill="#ff7372">Repos Per Language</text>
<rect x="20" y="47" width="10" height="10" fill="#f1e05a" stroke="#252334" stroke-width="1"/>
<text x="36" y="55" font-size="11" fill="#dbdbdb">JavaScript 29.71%</text>
<rect x="20" y="67" width="10" height="10" fill="#00ADD8" stroke="#252334" stroke-width="1"/>
<text x="36" y="75" font-size="11" fill="#dbdbdb">Go 16.00%</text>
<rect x="20" y="87" width="10" height="10" fill="#e34c26" stroke="#252334" stroke-width="1"/>
<text x="36" y="95" font-size="11" fill="#dbdbdb">HTML 10.86%</text>
<rect x="20" y="107" width="10" height="10" fill="#3572A5" stroke="#252334" stroke-width="1"/>
<text x="36" y="115" font-size="11" fill="#dbdbdb">Python 10.29%</text>
<rect x="20" y="127" width="10" height="10" fill="#b07219" stroke="#252334" stroke-width="1"/>
<text x="36" y="135" font-size="11" fill="#dbdbdb">Java 8.57%</text>
<rect x="20" y="147" width="10" height="10" fill="#f34b7d" stroke="#252334" stroke-width="1"/>
<text x="36" y="155" font-size="11" fill="#dbdbdb">C++ 4.57%</text>
<rect x="20" y="167" width="10" height="10" fill="#ff7372" stroke="#252334" stroke-width="1"/>
<text x="36" y="175" font-size="11" fill="#dbdbdb">Other 20.00%</text>
<path d="M250.00,55.00 A55.00,55.00 0 0 1 302.60,126.05 L278.69,118.76 A30.00,30.00 0 0 0 250.00,80.00 Z" fill="#f1e05a" stroke="#252334" stroke-width="1.5"/>
<path d="M302.60,126.05 A55.00,55.00 0 0 1 264.63,163.02 L257.98,138.92 A30.00,30.00 0 0 0 278.69,118.76 Z" fill="#00ADD8" stroke="#252334" stroke-width="1.5"/>
<path d="M264.63,163.02 A55.00,55.00 0 0 1 227.93,160.38 L237.96,137.48 A30.00,30.00 0 0 0 257.98,138.92 Z" fill="#e34c26" stroke="#252334" stroke-width="1.5"/>
<path d="M227.93,160.38 A55.00,55.00 0 0 1 202.04,136.93 L223.84,124.69 A30.00,30.00 0 0 0 237.96,137.48 Z" fill="#3572A5" stroke="#252334" stroke-width="1.5"/>
<path d="M202.04,136.93 A55.00,55.00 0 0 1 195.02,108.52 L220.01,109.19 A30.00,30.00 0 0 0 223.84,124.69 Z" fill="#b07219" stroke="#252334" stroke-width="1.5"/>
<path d="M195.02,108.52 A55.00,55.00 0 0 1 197.69,93.00 L221.47,100.73 A30.00,30.00 0 0 0 220.01,109.19 Z" fill="#f34b7d" stroke="#252334" stroke-width="1.5"/>
<path d="M197.69,93.00 A55.00,55.00 0 0 1 250.00,55.00 L250.00,80.00 A30.00,30.00 0 0 0 221.47,100.73 Z" fill="#ff7372" stroke="#252334" stroke-width="1.5"/>
</svg>

After

Width:  |  Height:  |  Size: 2.6 KiB

+25
View File
@@ -0,0 +1,25 @@
<svg xmlns="http://www.w3.org/2000/svg" width="340" height="200" viewBox="0 0 340 200" font-family="'Segoe UI', Ubuntu, Sans-Serif">
<rect x="0.5" y="0.5" width="339" height="199" rx="6" fill="#252334" stroke="#000000" stroke-opacity="0.00"/>
<text x="20" y="30" font-size="15" font-weight="600" fill="#ff7372">Stats</text>
<g transform="translate(20,45.00) scale(0.750)" fill="#6cffd0"><path fill-rule="evenodd" d="M8 .25a.75.75 0 01.673.418l1.882 3.815 4.21.612a.75.75 0 01.416 1.279l-3.046 2.97.719 4.192a.75.75 0 01-1.088.791L8 12.347l-3.766 1.98a.75.75 0 01-1.088-.79l.72-4.194L.818 6.374a.75.75 0 01.416-1.28l4.21-.611L7.327.668A.75.75 0 018 .25zm0 2.445L6.615 5.5a.75.75 0 01-.564.41l-3.097.45 2.24 2.184a.75.75 0 01.216.664l-.528 3.084 2.769-1.456a.75.75 0 01.698 0l2.77 1.456-.53-3.084a.75.75 0 01.216-.664l2.24-2.183-3.096-.45a.75.75 0 01-.564-.41L8 2.694v.001z"/></g>
<text x="40" y="55" font-size="12" fill="#dbdbdb">Total Stars</text>
<text x="320" y="55" font-size="12" font-weight="600" fill="#ff7372" text-anchor="end">12</text>
<g transform="translate(20,65.00) scale(0.750)" fill="#6cffd0"><path fill-rule="evenodd" d="M10.5 7.75a2.5 2.5 0 11-5 0 2.5 2.5 0 015 0zm1.43.75a4.002 4.002 0 01-7.86 0H.75a.75.75 0 110-1.5h3.32a4.001 4.001 0 017.86 0h3.32a.75.75 0 110 1.5h-3.32z"/></g>
<text x="40" y="75" font-size="12" fill="#dbdbdb">Total Commits (all time)</text>
<text x="320" y="75" font-size="12" font-weight="600" fill="#ff7372" text-anchor="end">10,384</text>
<g transform="translate(20,85.00) scale(0.750)" fill="#6cffd0"><path fill-rule="evenodd" d="M10.5 7.75a2.5 2.5 0 11-5 0 2.5 2.5 0 015 0zm1.43.75a4.002 4.002 0 01-7.86 0H.75a.75.75 0 110-1.5h3.32a4.001 4.001 0 017.86 0h3.32a.75.75 0 110 1.5h-3.32z"/></g>
<text x="40" y="95" font-size="12" fill="#dbdbdb">Total Commits (last year)</text>
<text x="320" y="95" font-size="12" font-weight="600" fill="#ff7372" text-anchor="end">8,058</text>
<g transform="translate(20,105.00) scale(0.750)" fill="#6cffd0"><path fill-rule="evenodd" d="M7.177 3.073L9.573.677A.25.25 0 0110 .854v4.792a.25.25 0 01-.427.177L7.177 3.427a.25.25 0 010-.354zM3.75 2.5a.75.75 0 100 1.5.75.75 0 000-1.5zm-2.25.75a2.25 2.25 0 113 2.122v5.256a2.251 2.251 0 11-1.5 0V5.372A2.25 2.25 0 011.5 3.25zM11 2.5h-1V4h1a1 1 0 011 1v5.628a2.251 2.251 0 101.5 0V5A2.5 2.5 0 0011 2.5zm1 10.25a.75.75 0 111.5 0 .75.75 0 01-1.5 0zM3.75 12a.75.75 0 100 1.5.75.75 0 000-1.5z"/></g>
<text x="40" y="115" font-size="12" fill="#dbdbdb">Total PRs</text>
<text x="320" y="115" font-size="12" font-weight="600" fill="#ff7372" text-anchor="end">225</text>
<g transform="translate(20,125.00) scale(0.750)" fill="#6cffd0"><path fill-rule="evenodd" d="M8 1.5a6.5 6.5 0 100 13 6.5 6.5 0 000-13zM0 8a8 8 0 1116 0A8 8 0 010 8zm9 3a1 1 0 11-2 0 1 1 0 012 0zm-.25-6.25a.75.75 0 00-1.5 0v3.5a.75.75 0 001.5 0v-3.5z"/></g>
<text x="40" y="135" font-size="12" fill="#dbdbdb">Total Issues</text>
<text x="320" y="135" font-size="12" font-weight="600" fill="#ff7372" text-anchor="end">13</text>
<g transform="translate(20,145.00) scale(0.750)" fill="#6cffd0"><path fill-rule="evenodd" d="M1.5 2.75a.25.25 0 01.25-.25h12.5a.25.25 0 01.25.25v8.5a.25.25 0 01-.25.25h-6.5a.75.75 0 00-.53.22L4.5 14.44v-2.19a.75.75 0 00-.75-.75h-2a.25.25 0 01-.25-.25v-8.5zM1.75 1A1.75 1.75 0 000 2.75v8.5C0 12.216.784 13 1.75 13H3v1.543a1.457 1.457 0 002.487 1.03L8.061 13h6.189A1.75 1.75 0 0016 11.25v-8.5A1.75 1.75 0 0014.25 1H1.75zm5.03 3.47a.75.75 0 010 1.06L5.31 7l1.47 1.47a.75.75 0 01-1.06 1.06l-2-2a.75.75 0 010-1.06l2-2a.75.75 0 011.06 0zm2.44 0a.75.75 0 000 1.06L10.69 7 9.22 8.47a.75.75 0 001.06 1.06l2-2a.75.75 0 000-1.06l-2-2a.75.75 0 00-1.06 0z"/></g>
<text x="40" y="155" font-size="12" fill="#dbdbdb">Total PR Reviews</text>
<text x="320" y="155" font-size="12" font-weight="600" fill="#ff7372" text-anchor="end">12</text>
<g transform="translate(20,165.00) scale(0.750)" fill="#6cffd0"><path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"/></g>
<text x="40" y="175" font-size="12" fill="#dbdbdb">Contributed to</text>
<text x="320" y="175" font-size="12" font-weight="600" fill="#ff7372" text-anchor="end">90</text>
</svg>

After

Width:  |  Height:  |  Size: 4.4 KiB

+13
View File
@@ -0,0 +1,13 @@
<svg xmlns="http://www.w3.org/2000/svg" width="340" height="200" viewBox="0 0 340 200" font-family="'Segoe UI', Ubuntu, Sans-Serif">
<rect x="0.5" y="0.5" width="339" height="199" rx="6" fill="#252334" stroke="#000000" stroke-opacity="0.00"/>
<text x="20" y="30" font-size="15" font-weight="600" fill="#ff7372">Streak</text>
<text x="56" y="95" font-size="28" font-weight="700" fill="#ff7372" text-anchor="middle">11</text>
<text x="56" y="120" font-size="12" fill="#dbdbdb" text-anchor="middle">Current streak</text>
<text x="56" y="140" font-size="10" fill="#6cffd0" text-anchor="middle">Sep 27 — Oct 7</text>
<text x="169" y="95" font-size="28" font-weight="700" fill="#ff7372" text-anchor="middle">176</text>
<text x="169" y="120" font-size="12" fill="#dbdbdb" text-anchor="middle">Longest streak</text>
<text x="169" y="140" font-size="10" fill="#6cffd0" text-anchor="middle">Mar 30 — Sep 21</text>
<text x="282" y="95" font-size="28" font-weight="700" fill="#ff7372" text-anchor="middle">748</text>
<text x="282" y="120" font-size="12" fill="#dbdbdb" text-anchor="middle">Active days</text>
<text x="282" y="140" font-size="10" fill="#6cffd0" text-anchor="middle">of 3,202 total (23%)</text>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

+39
View File
@@ -0,0 +1,39 @@
<svg xmlns="http://www.w3.org/2000/svg" width="340" height="200" viewBox="0 0 340 200" font-family="'Segoe UI', Ubuntu, Sans-Serif">
<rect x="0.5" y="0.5" width="339" height="199" rx="6" fill="#252334" stroke="#000000" stroke-opacity="0.00"/>
<text x="20" y="30" font-size="15" font-weight="600" fill="#ff7372">Top Starred Repos</text>
<circle cx="24" cy="51" r="4" fill="#00ADD8"/>
<text x="34" y="55" font-size="12" fill="#dbdbdb">awesome-ai-dev-t…</text>
<rect x="150" y="47" width="120" height="10" rx="3" fill="#ff7372" fill-opacity="0.15"/>
<rect x="150" y="47" width="120.00" height="10" rx="3" fill="#ff7372"/>
<text x="334" y="55" font-size="12" font-weight="600" fill="#ff7372" text-anchor="end">3 ★</text>
<circle cx="24" cy="71" r="4" fill="#00ADD8"/>
<text x="34" y="75" font-size="12" fill="#dbdbdb">ghglance</text>
<rect x="150" y="67" width="120" height="10" rx="3" fill="#ff7372" fill-opacity="0.15"/>
<rect x="150" y="67" width="40.00" height="10" rx="3" fill="#ff7372"/>
<text x="334" y="75" font-size="12" font-weight="600" fill="#ff7372" text-anchor="end">1 ★</text>
<circle cx="24" cy="91" r="4" fill="#f1e05a"/>
<text x="34" y="95" font-size="12" fill="#dbdbdb">ai-labs</text>
<rect x="150" y="87" width="120" height="10" rx="3" fill="#ff7372" fill-opacity="0.15"/>
<rect x="150" y="87" width="40.00" height="10" rx="3" fill="#ff7372"/>
<text x="334" y="95" font-size="12" font-weight="600" fill="#ff7372" text-anchor="end">1 ★</text>
<circle cx="24" cy="111" r="4" fill="#e34c26"/>
<text x="34" y="115" font-size="12" fill="#dbdbdb">penny-pincher-pr…</text>
<rect x="150" y="107" width="120" height="10" rx="3" fill="#ff7372" fill-opacity="0.15"/>
<rect x="150" y="107" width="40.00" height="10" rx="3" fill="#ff7372"/>
<text x="334" y="115" font-size="12" font-weight="600" fill="#ff7372" text-anchor="end">1 ★</text>
<circle cx="24" cy="131" r="4" fill="#dea584"/>
<text x="34" y="135" font-size="12" fill="#dbdbdb">time-mocker</text>
<rect x="150" y="127" width="120" height="10" rx="3" fill="#ff7372" fill-opacity="0.15"/>
<rect x="150" y="127" width="40.00" height="10" rx="3" fill="#ff7372"/>
<text x="334" y="135" font-size="12" font-weight="600" fill="#ff7372" text-anchor="end">1 ★</text>
<circle cx="24" cy="151" r="4" fill="#00ADD8"/>
<text x="34" y="155" font-size="12" fill="#dbdbdb">adventofcode</text>
<rect x="150" y="147" width="120" height="10" rx="3" fill="#ff7372" fill-opacity="0.15"/>
<rect x="150" y="147" width="40.00" height="10" rx="3" fill="#ff7372"/>
<text x="334" y="155" font-size="12" font-weight="600" fill="#ff7372" text-anchor="end">1 ★</text>
<circle cx="24" cy="171" r="4" fill="#3572A5"/>
<text x="34" y="175" font-size="12" fill="#dbdbdb">export-telegram-…</text>
<rect x="150" y="167" width="120" height="10" rx="3" fill="#ff7372" fill-opacity="0.15"/>
<rect x="150" y="167" width="40.00" height="10" rx="3" fill="#ff7372"/>
<text x="334" y="175" font-size="12" font-weight="600" fill="#ff7372" text-anchor="end">1 ★</text>
</svg>

After

Width:  |  Height:  |  Size: 3.0 KiB

+21
View File
@@ -0,0 +1,21 @@
# ghglance — ayu_mirage
[← back to index](../README.md)
Rendered for [`tiennm99`](https://github.com/tiennm99). 16 SVGs laid out to match the author profile README table.
<div align="center">
<table>
<tr><td><img src="./profile-details.svg" alt="profile-details" /></td><td><img src="./stats.svg" alt="stats" /></td></tr>
<tr><td><img src="./repos-per-language.svg" alt="repos-per-language" /></td><td><img src="./top-starred-repos.svg" alt="top-starred-repos" /></td></tr>
<tr><td><img src="./contributions-by-year.svg" alt="contributions-by-year" /></td><td><img src="./contributions-heatmap.svg" alt="contributions-heatmap" /></td></tr>
<tr><td><img src="./records.svg" alt="records" /></td><td><img src="./streak.svg" alt="streak" /></td></tr>
<tr><th>Last year</th><th>All time</th></tr>
<tr><td><img src="./most-commit-language.svg" alt="most-commit-language" /></td><td><img src="./most-commit-language-all-time.svg" alt="most-commit-language-all-time" /></td></tr>
<tr><td><img src="./contributions.svg" alt="contributions" /></td><td><img src="./contributions-all-time.svg" alt="contributions-all-time" /></td></tr>
<tr><td><img src="./productive-weekday.svg" alt="productive-weekday" /></td><td><img src="./productive-weekday-all-time.svg" alt="productive-weekday-all-time" /></td></tr>
<tr><td><img src="./productive-time.svg" alt="productive-time" /></td><td><img src="./productive-time-all-time.svg" alt="productive-time-all-time" /></td></tr>
</table>
</div>
@@ -0,0 +1,42 @@
<svg xmlns="http://www.w3.org/2000/svg" width="340" height="200" viewBox="0 0 340 200" font-family="'Segoe UI', Ubuntu, Sans-Serif">
<rect x="0.5" y="0.5" width="339" height="199" rx="6" fill="#1f2430" stroke="#000000" stroke-opacity="0.00"/>
<text x="20" y="30" font-size="15" font-weight="600" fill="#f4cd7c">Contributions (all time)</text>
<line x1="28" y1="45" x2="28" y2="150" stroke="#73d0ff"/>
<line x1="312" y1="45" x2="312" y2="150" stroke="#73d0ff"/>
<line x1="24" y1="150" x2="28" y2="150" stroke="#73d0ff"/>
<text x="22" y="153" font-size="10" fill="#73d0ff" text-anchor="end">0</text>
<line x1="312" y1="150" x2="316" y2="150" stroke="#73d0ff"/>
<text x="318" y="153" font-size="10" fill="#73d0ff" text-anchor="start">0</text>
<line x1="24" y1="124" x2="28" y2="124" stroke="#73d0ff"/>
<text x="22" y="127" font-size="10" fill="#73d0ff" text-anchor="end">500</text>
<line x1="312" y1="124" x2="316" y2="124" stroke="#73d0ff"/>
<text x="318" y="127" font-size="10" fill="#73d0ff" text-anchor="start">500</text>
<line x1="24" y1="98" x2="28" y2="98" stroke="#73d0ff"/>
<text x="22" y="101" font-size="10" fill="#73d0ff" text-anchor="end">1k</text>
<line x1="312" y1="98" x2="316" y2="98" stroke="#73d0ff"/>
<text x="318" y="101" font-size="10" fill="#73d0ff" text-anchor="start">1k</text>
<line x1="24" y1="72" x2="28" y2="72" stroke="#73d0ff"/>
<text x="22" y="75" font-size="10" fill="#73d0ff" text-anchor="end">1.5k</text>
<line x1="312" y1="72" x2="316" y2="72" stroke="#73d0ff"/>
<text x="318" y="75" font-size="10" fill="#73d0ff" text-anchor="start">1.5k</text>
<line x1="24" y1="45" x2="28" y2="45" stroke="#73d0ff"/>
<text x="22" y="48" font-size="10" fill="#73d0ff" text-anchor="end">2k</text>
<line x1="312" y1="45" x2="316" y2="45" stroke="#73d0ff"/>
<text x="318" y="48" font-size="10" fill="#73d0ff" text-anchor="start">2k</text>
<line x1="28" y1="150" x2="312" y2="150" stroke="#73d0ff"/>
<line x1="28" y1="150" x2="28" y2="154" stroke="#73d0ff"/>
<text x="28" y="166" font-size="10" fill="#73d0ff" text-anchor="middle">01/18</text>
<line x1="84" y1="150" x2="84" y2="154" stroke="#73d0ff"/>
<text x="84" y="166" font-size="10" fill="#73d0ff" text-anchor="middle">10/19</text>
<line x1="141" y1="150" x2="141" y2="154" stroke="#73d0ff"/>
<text x="141" y="166" font-size="10" fill="#73d0ff" text-anchor="middle">07/21</text>
<line x1="198" y1="150" x2="198" y2="154" stroke="#73d0ff"/>
<text x="198" y="166" font-size="10" fill="#73d0ff" text-anchor="middle">04/23</text>
<line x1="255" y1="150" x2="255" y2="154" stroke="#73d0ff"/>
<text x="255" y="166" font-size="10" fill="#73d0ff" text-anchor="middle">01/25</text>
<line x1="312" y1="150" x2="312" y2="154" stroke="#73d0ff"/>
<text x="312" y="166" font-size="10" fill="#73d0ff" text-anchor="middle">10/26</text>
<path d="M28.00,150.00 C28.45,150.00 29.80,150.00 30.70,150.00 C31.61,150.00 32.51,150.00 33.41,150.00 C34.31,150.00 35.21,150.01 36.11,150.00 C37.02,149.99 37.92,150.13 38.82,149.95 C39.72,149.76 40.62,148.89 41.52,148.90 C42.43,148.91 43.33,149.82 44.23,150.00 C45.13,150.18 46.03,150.03 46.93,150.00 C47.83,149.97 48.74,149.97 49.64,149.79 C50.54,149.61 51.44,148.99 52.34,148.95 C53.24,148.91 54.15,149.35 55.05,149.53 C55.95,149.70 56.85,149.93 57.75,150.00 C58.65,150.07 59.56,149.95 60.46,149.95 C61.36,149.95 62.26,149.99 63.16,150.00 C64.06,150.01 64.97,150.00 65.87,150.00 C66.77,150.00 67.67,150.00 68.57,150.00 C69.47,150.00 70.37,150.00 71.28,150.00 C72.18,150.00 73.08,150.01 73.98,150.00 C74.88,149.99 75.78,150.08 76.69,149.95 C77.59,149.82 78.49,149.20 79.39,149.21 C80.29,149.22 81.19,149.87 82.10,150.00 C83.00,150.13 83.90,150.03 84.80,150.00 C85.70,149.97 86.60,149.84 87.50,149.84 C88.41,149.84 89.31,149.97 90.21,150.00 C91.11,150.03 92.01,150.00 92.91,150.00 C93.82,150.00 94.72,150.05 95.62,150.00 C96.52,149.95 97.42,149.69 98.32,149.69 C99.23,149.69 100.13,149.97 101.03,150.00 C101.93,150.03 102.83,149.95 103.73,149.90 C104.63,149.84 105.54,149.68 106.44,149.69 C107.34,149.69 108.24,150.12 109.14,149.95 C110.04,149.77 110.95,148.63 111.85,148.63 C112.75,148.63 113.65,149.89 114.55,149.95 C115.45,150.00 116.36,148.95 117.26,148.95 C118.16,148.95 119.06,149.77 119.96,149.95 C120.86,150.12 121.77,149.99 122.67,150.00 C123.57,150.01 124.47,150.05 125.37,150.00 C126.27,149.95 127.17,149.80 128.08,149.69 C128.98,149.57 129.88,149.33 130.78,149.32 C131.68,149.31 132.58,149.52 133.49,149.63 C134.39,149.75 135.29,149.94 136.19,150.00 C137.09,150.06 137.99,150.00 138.90,150.00 C139.80,150.00 140.70,150.03 141.60,150.00 C142.50,149.97 143.40,149.89 144.30,149.79 C145.21,149.69 146.11,149.46 147.01,149.42 C147.91,149.39 148.81,149.48 149.71,149.58 C150.62,149.68 151.52,149.94 152.42,150.00 C153.32,150.06 154.22,149.98 155.12,149.95 C156.03,149.91 156.93,149.86 157.83,149.79 C158.73,149.72 159.63,149.59 160.53,149.53 C161.43,149.47 162.34,149.41 163.24,149.42 C164.14,149.43 165.04,149.48 165.94,149.58 C166.84,149.68 167.75,150.11 168.65,150.00 C169.55,149.89 170.45,149.14 171.35,148.95 C172.25,148.76 173.16,148.68 174.06,148.84 C174.96,149.01 175.86,149.92 176.76,149.95 C177.66,149.97 178.57,149.36 179.47,149.00 C180.37,148.64 181.27,148.36 182.17,147.79 C183.07,147.23 183.97,146.16 184.88,145.59 C185.78,145.02 186.68,143.65 187.58,144.38 C188.48,145.12 189.38,149.33 190.29,150.00 C191.19,150.67 192.09,148.74 192.99,148.43 C193.89,148.11 194.79,148.03 195.70,148.11 C196.60,148.19 197.50,149.06 198.40,148.90 C199.30,148.73 200.20,147.24 201.10,147.11 C202.01,146.99 202.91,147.80 203.81,148.16 C204.71,148.52 205.61,149.45 206.51,149.26 C207.42,149.08 208.32,148.48 209.22,147.06 C210.12,145.64 211.02,140.82 211.92,140.76 C212.83,140.70 213.73,145.26 214.63,146.69 C215.53,148.13 216.43,149.02 217.33,149.37 C218.23,149.72 219.14,148.70 220.04,148.79 C220.94,148.89 221.84,149.75 222.74,149.95 C223.64,150.15 224.55,150.24 225.45,150.00 C226.35,149.76 227.25,149.80 228.15,148.53 C229.05,147.26 229.96,142.87 230.86,142.39 C231.76,141.91 232.66,144.51 233.56,145.64 C234.46,146.77 235.37,148.50 236.27,149.16 C237.17,149.82 238.07,149.86 238.97,149.63 C239.87,149.41 240.77,148.17 241.68,147.79 C242.58,147.42 243.48,147.53 244.38,147.38 C245.28,147.22 246.18,146.57 247.09,146.85 C247.99,147.13 248.89,148.75 249.79,149.06 C250.69,149.36 251.59,148.65 252.50,148.69 C253.40,148.72 254.30,150.03 255.20,149.26 C256.10,148.49 257.00,145.09 257.90,144.07 C258.81,143.04 259.71,143.47 260.61,143.12 C261.51,142.77 262.41,142.48 263.31,141.97 C264.22,141.45 265.12,139.37 266.02,140.03 C266.92,140.68 267.82,144.86 268.72,145.91 C269.63,146.95 270.53,146.56 271.43,146.32 C272.33,146.09 273.23,144.44 274.13,144.49 C275.03,144.53 275.94,146.96 276.84,146.59 C277.74,146.22 278.64,144.73 279.54,142.28 C280.44,139.83 281.35,132.50 282.25,131.89 C283.15,131.27 284.05,135.94 284.95,138.61 C285.85,141.28 286.76,147.71 287.66,147.90 C288.56,148.09 289.46,144.62 290.36,139.76 C291.26,134.91 292.17,132.47 293.07,118.76 C293.97,105.05 294.87,64.85 295.77,57.50 C296.67,50.14 297.57,64.62 298.48,74.61 C299.38,84.60 300.28,113.99 301.18,117.45 C302.08,120.91 302.98,96.41 303.89,95.35 C304.79,94.29 305.69,108.64 306.59,111.10 C307.49,113.56 308.39,107.32 309.30,110.10 C310.20,112.88 311.55,124.84 312.00,127.79 L312.00,150.00 L28.00,150.00 Z" fill="#f4cd7c" fill-opacity="0.25" stroke="none"/>
<path d="M28.00,150.00 C28.45,150.00 29.80,150.00 30.70,150.00 C31.61,150.00 32.51,150.00 33.41,150.00 C34.31,150.00 35.21,150.01 36.11,150.00 C37.02,149.99 37.92,150.13 38.82,149.95 C39.72,149.76 40.62,148.89 41.52,148.90 C42.43,148.91 43.33,149.82 44.23,150.00 C45.13,150.18 46.03,150.03 46.93,150.00 C47.83,149.97 48.74,149.97 49.64,149.79 C50.54,149.61 51.44,148.99 52.34,148.95 C53.24,148.91 54.15,149.35 55.05,149.53 C55.95,149.70 56.85,149.93 57.75,150.00 C58.65,150.07 59.56,149.95 60.46,149.95 C61.36,149.95 62.26,149.99 63.16,150.00 C64.06,150.01 64.97,150.00 65.87,150.00 C66.77,150.00 67.67,150.00 68.57,150.00 C69.47,150.00 70.37,150.00 71.28,150.00 C72.18,150.00 73.08,150.01 73.98,150.00 C74.88,149.99 75.78,150.08 76.69,149.95 C77.59,149.82 78.49,149.20 79.39,149.21 C80.29,149.22 81.19,149.87 82.10,150.00 C83.00,150.13 83.90,150.03 84.80,150.00 C85.70,149.97 86.60,149.84 87.50,149.84 C88.41,149.84 89.31,149.97 90.21,150.00 C91.11,150.03 92.01,150.00 92.91,150.00 C93.82,150.00 94.72,150.05 95.62,150.00 C96.52,149.95 97.42,149.69 98.32,149.69 C99.23,149.69 100.13,149.97 101.03,150.00 C101.93,150.03 102.83,149.95 103.73,149.90 C104.63,149.84 105.54,149.68 106.44,149.69 C107.34,149.69 108.24,150.12 109.14,149.95 C110.04,149.77 110.95,148.63 111.85,148.63 C112.75,148.63 113.65,149.89 114.55,149.95 C115.45,150.00 116.36,148.95 117.26,148.95 C118.16,148.95 119.06,149.77 119.96,149.95 C120.86,150.12 121.77,149.99 122.67,150.00 C123.57,150.01 124.47,150.05 125.37,150.00 C126.27,149.95 127.17,149.80 128.08,149.69 C128.98,149.57 129.88,149.33 130.78,149.32 C131.68,149.31 132.58,149.52 133.49,149.63 C134.39,149.75 135.29,149.94 136.19,150.00 C137.09,150.06 137.99,150.00 138.90,150.00 C139.80,150.00 140.70,150.03 141.60,150.00 C142.50,149.97 143.40,149.89 144.30,149.79 C145.21,149.69 146.11,149.46 147.01,149.42 C147.91,149.39 148.81,149.48 149.71,149.58 C150.62,149.68 151.52,149.94 152.42,150.00 C153.32,150.06 154.22,149.98 155.12,149.95 C156.03,149.91 156.93,149.86 157.83,149.79 C158.73,149.72 159.63,149.59 160.53,149.53 C161.43,149.47 162.34,149.41 163.24,149.42 C164.14,149.43 165.04,149.48 165.94,149.58 C166.84,149.68 167.75,150.11 168.65,150.00 C169.55,149.89 170.45,149.14 171.35,148.95 C172.25,148.76 173.16,148.68 174.06,148.84 C174.96,149.01 175.86,149.92 176.76,149.95 C177.66,149.97 178.57,149.36 179.47,149.00 C180.37,148.64 181.27,148.36 182.17,147.79 C183.07,147.23 183.97,146.16 184.88,145.59 C185.78,145.02 186.68,143.65 187.58,144.38 C188.48,145.12 189.38,149.33 190.29,150.00 C191.19,150.67 192.09,148.74 192.99,148.43 C193.89,148.11 194.79,148.03 195.70,148.11 C196.60,148.19 197.50,149.06 198.40,148.90 C199.30,148.73 200.20,147.24 201.10,147.11 C202.01,146.99 202.91,147.80 203.81,148.16 C204.71,148.52 205.61,149.45 206.51,149.26 C207.42,149.08 208.32,148.48 209.22,147.06 C210.12,145.64 211.02,140.82 211.92,140.76 C212.83,140.70 213.73,145.26 214.63,146.69 C215.53,148.13 216.43,149.02 217.33,149.37 C218.23,149.72 219.14,148.70 220.04,148.79 C220.94,148.89 221.84,149.75 222.74,149.95 C223.64,150.15 224.55,150.24 225.45,150.00 C226.35,149.76 227.25,149.80 228.15,148.53 C229.05,147.26 229.96,142.87 230.86,142.39 C231.76,141.91 232.66,144.51 233.56,145.64 C234.46,146.77 235.37,148.50 236.27,149.16 C237.17,149.82 238.07,149.86 238.97,149.63 C239.87,149.41 240.77,148.17 241.68,147.79 C242.58,147.42 243.48,147.53 244.38,147.38 C245.28,147.22 246.18,146.57 247.09,146.85 C247.99,147.13 248.89,148.75 249.79,149.06 C250.69,149.36 251.59,148.65 252.50,148.69 C253.40,148.72 254.30,150.03 255.20,149.26 C256.10,148.49 257.00,145.09 257.90,144.07 C258.81,143.04 259.71,143.47 260.61,143.12 C261.51,142.77 262.41,142.48 263.31,141.97 C264.22,141.45 265.12,139.37 266.02,140.03 C266.92,140.68 267.82,144.86 268.72,145.91 C269.63,146.95 270.53,146.56 271.43,146.32 C272.33,146.09 273.23,144.44 274.13,144.49 C275.03,144.53 275.94,146.96 276.84,146.59 C277.74,146.22 278.64,144.73 279.54,142.28 C280.44,139.83 281.35,132.50 282.25,131.89 C283.15,131.27 284.05,135.94 284.95,138.61 C285.85,141.28 286.76,147.71 287.66,147.90 C288.56,148.09 289.46,144.62 290.36,139.76 C291.26,134.91 292.17,132.47 293.07,118.76 C293.97,105.05 294.87,64.85 295.77,57.50 C296.67,50.14 297.57,64.62 298.48,74.61 C299.38,84.60 300.28,113.99 301.18,117.45 C302.08,120.91 302.98,96.41 303.89,95.35 C304.79,94.29 305.69,108.64 306.59,111.10 C307.49,113.56 308.39,107.32 309.30,110.10 C310.20,112.88 311.55,124.84 312.00,127.79" fill="none" stroke="#f4cd7c" stroke-width="2"/>
<text x="170" y="184" font-size="11" fill="#73d0ff" text-anchor="middle">mm/yy</text>
</svg>

After

Width:  |  Height:  |  Size: 12 KiB

+30
View File
@@ -0,0 +1,30 @@
<svg xmlns="http://www.w3.org/2000/svg" width="340" height="200" viewBox="0 0 340 200" font-family="'Segoe UI', Ubuntu, Sans-Serif">
<rect x="0.5" y="0.5" width="339" height="199" rx="6" fill="#1f2430" stroke="#000000" stroke-opacity="0.00"/>
<text x="20" y="30" font-size="15" font-weight="600" fill="#f4cd7c">Contributions by Year</text>
<line x1="35" y1="45" x2="35" y2="155" stroke="#73d0ff"/>
<line x1="31" y1="155" x2="35" y2="155" stroke="#73d0ff"/>
<text x="29" y="158" font-size="10" fill="#73d0ff" text-anchor="end">0</text>
<line x1="31" y1="128" x2="35" y2="128" stroke="#73d0ff"/>
<text x="29" y="131" font-size="10" fill="#73d0ff" text-anchor="end">2k</text>
<line x1="31" y1="100" x2="35" y2="100" stroke="#73d0ff"/>
<text x="29" y="103" font-size="10" fill="#73d0ff" text-anchor="end">4k</text>
<line x1="31" y1="73" x2="35" y2="73" stroke="#73d0ff"/>
<text x="29" y="76" font-size="10" fill="#73d0ff" text-anchor="end">6k</text>
<line x1="31" y1="45" x2="35" y2="45" stroke="#73d0ff"/>
<text x="29" y="48" font-size="10" fill="#73d0ff" text-anchor="end">8k</text>
<line x1="35" y1="155" x2="325" y2="155" stroke="#73d0ff"/>
<rect x="35.00" y="154.24" width="30.44" height="0.76" rx="2" fill="#948059"><title>2018 — 55 commits</title></rect>
<text x="50.22" y="169" font-size="10" fill="#73d0ff" text-anchor="middle">2018</text>
<rect x="67.44" y="154.72" width="30.44" height="0.28" rx="2" fill="#948059"><title>2019 — 20 commits</title></rect>
<rect x="99.89" y="154.13" width="30.44" height="0.87" rx="2" fill="#948059"><title>2020 — 63 commits</title></rect>
<text x="115.11" y="169" font-size="10" fill="#73d0ff" text-anchor="middle">2020</text>
<rect x="132.33" y="154.31" width="30.44" height="0.69" rx="2" fill="#948059"><title>2021 — 50 commits</title></rect>
<rect x="164.78" y="150.50" width="30.44" height="4.50" rx="2" fill="#948059"><title>2022 — 327 commits</title></rect>
<text x="180.00" y="169" font-size="10" fill="#73d0ff" text-anchor="middle">2022</text>
<rect x="197.22" y="147.84" width="30.44" height="7.16" rx="2" fill="#948059"><title>2023 — 521 commits</title></rect>
<rect x="229.67" y="148.47" width="30.44" height="6.53" rx="2" fill="#948059"><title>2024 — 475 commits</title></rect>
<text x="244.89" y="169" font-size="10" fill="#73d0ff" text-anchor="middle">2024</text>
<rect x="262.11" y="132.62" width="30.44" height="22.39" rx="2" fill="#948059"><title>2025 — 1628 commits</title></rect>
<rect x="294.56" y="50.32" width="30.44" height="104.68" rx="2" fill="#f4cd7c"><title>2026 — 7613 commits</title></rect>
<text x="309.78" y="169" font-size="10" fill="#73d0ff" text-anchor="middle">2026</text>
</svg>

After

Width:  |  Height:  |  Size: 2.7 KiB

Loaded 100 of 1191 files, more files were not shown because too many files have changed in this diff. Show more