Remotion profile graphics for the public stats JSON generated by
stats-action. The workflow renders
animated WebP assets plus GIF fallbacks and publishes them to GitHub Pages, so
generated images do not grow the source repository history.
Use the Pages URLs from this repository in a profile README:
<picture>
<source srcset="https://lukasparke.github.io/github-stats-remotion/readme.webp" type="image/webp" />
<img src="https://lukasparke.github.io/github-stats-remotion/readme.gif" alt="LukasParke GitHub stats" />
</picture>Available assets:
readme.webp/readme.gifmain-stats.webp/main-stats.gifstats.webp/stats.gifrepo-impact.webp/repo-impact.giflanguages.webp/languages.giftop-languages.webp/top-languages.gifactivity-overview.webp/activity-overview.gifcommit-streak.webp/commit-streak.gifissue-tracking.webp/issue-tracking.gifcode-metrics.webp/code-metrics.gif
The default input is:
{
"username": "LukasParke",
"statsUrl": "https://raw.githubusercontent.com/LukasParke/stats/main/github-user-stats.json"
}For a template fork, change input.json and the workflow stats-json-url
default to your public stats repository.
The renderer supports both the new schemaVersion: 2 stats output and the old
legacy JSON shape. It refuses to render public assets when the stats JSON
contains private repository details unless ALLOW_PRIVATE_REPOSITORY_DETAILS
is explicitly set to true.
yarn install --frozen-lockfile
yarn prepare:stats
yarn render:allRendered assets are written to pages/, which is intentionally ignored by Git.
.github/workflows/render-video.yml renders on pushes, daily schedule, and
manual dispatch. It publishes pages/ with GitHub Pages instead of committing
generated images back to main.