Web service that generates an SVG of latest GitHub repository activity.
- Generates an SVG summary of the recent commit activity for a GitHub repository
- In-memory caching of GitHub API responses for an hour to not trigger rate limits
- Optional personal access token (classic) can be configured (
GitHub:Token) to overcome GitHub API rate limits
- Optional personal access token (classic) can be configured (
- Customization of basic attributes via query parameters
- Light and dark mode color schemes can be configured client-side (see examples)
- Private repositories are not supported for security reasons
- Date rendering is done server-side so the Browser local time can not be taken into consideration (all dates are in UTC)
- Integration into responsive designs will not work properly since the server lacks information if it got fetched for Desktop, Tablet, Smartphone etc.
Insert this snippet
into your README.md; the first URL will be used when the page is in dark mode, the 2nd for light
and the 3rd is the fallback URL if detection didn't result in success:
<picture>
<source media="(prefers-color-scheme: dark)"
srcset="https://ghstats.api.nefarius.systems/widgets/github/nefarius/GitHubLastChangeWidget/changes/latest?foregroundColour=%23C4D1DE">
<source media="(prefers-color-scheme: light)"
srcset="https://ghstats.api.nefarius.systems/widgets/github/nefarius/GitHubLastChangeWidget/changes/latest">
<img alt="Repository activity"
src="https://ghstats.api.nefarius.systems/widgets/github/nefarius/GitHubLastChangeWidget/changes/latest">
</picture>If you added
a color palette toggle
and want to show different images for light and dark color schemes, you can append a #only-light or #only-dark hash
fragment to the image URL:

I'm hosting an instance of this project
at https://ghstats.api.nefarius.systems/ which you can
consume:
https://ghstats.api.nefarius.systems/widgets/github/{username}/{repository}/changes/latest
Like any other of my public web services it only logs an absolute minimal amount required for debugging purposes and I'll never sell your data out to the big boys 😉
If you like this idea and want to keep my public instance happy, up and running consider making a donation 💸
