Skip to content

feat: add GitHub stats and trophy generation system#3438

Open
endavis wants to merge 3 commits intoalshedivat:mainfrom
endavis:feature/github-stats-trophies-v2
Open

feat: add GitHub stats and trophy generation system#3438
endavis wants to merge 3 commits intoalshedivat:mainfrom
endavis:feature/github-stats-trophies-v2

Conversation

@endavis
Copy link

@endavis endavis commented Jan 14, 2026

Summary

This PR adds a comprehensive GitHub stats and trophy generation system to al-folio, allowing users to display automatically-updated GitHub statistics on their site.

  • Three display modes: External (Vercel API - default), Local (main branch), or Branch (separate stats branch)
  • Workflow automation: Daily cron job generates stats using lowlighter/metrics
  • Trophy support: GitHub profile trophies via ryo-ma/github-profile-trophy
  • Responsive layouts: Trophies adapt to screen size (6/4/3 columns)
  • Flexible configuration: YAML-based config for all metrics plugins

Key Files Added/Modified

  • .github/workflows/update-stats.yml - Main workflow for stats generation
  • .config/stats-metrics.yml - Metrics plugin configuration
  • .config/trophies.yml - Trophy display configuration
  • _data/repositories.yml - Repository/user list configuration
  • _includes/repository/repo*.liquid - Display templates with mode support
  • docs/STATS.md, docs/stats.md - Comprehensive documentation

Bug-Fix Fork

This implementation uses endavis/metrics@fix/habits-activity-typeerror-bugs to fix several upstream bugs:

  • Activity plugin null pointer errors
  • Habits plugin undefined destructuring
  • Projects plugin deprecated API usage
  • Achievements plugin Projects classic migration

PRs submitted upstream:

Test plan

  • Tested workflow execution in fork (endavis/al-folio)
  • Verified stats branch creation and SVG generation
  • Tested site build with branch mode enabled
  • Confirmed all plugins work without errors
  • Verified responsive trophy layouts

Live test site: https://endavis.github.io/al-folio/repositories/

endavis and others added 3 commits January 14, 2026 14:39
Add comprehensive GitHub statistics and trophy visualization system with:

- GitHub stats via lowlighter/metrics (20+ plugins enabled)
- Trophy generation via ryo-ma/github-profile-trophy
- GitHub Readme Stats integration
- Automated daily updates via GitHub Actions
- Complete documentation in docs/

Key features:
- All plugins enabled by default to showcase features
- Bug-fix fork with upstream PRs submitted
- Configurable plugin system with YAML configs
- Token scope requirements documented
- Optimized performance with pre-built Docker images
- Local stats support in repo_trophies.liquid

Configuration files:
- .config/stats-metrics.yml - Main metrics configuration
- .config/stats-metrics.example.yml - Example configuration
- .config/stats-readme.yml - Readme stats settings
- .config/trophies.yml - Trophy display configuration

Documentation:
- docs/STATS.md - Complete stats configuration guide (3 display modes)
- docs/TROPHIES.md - Trophy customization guide
- docs/stats.md - Bug-fix fork explanation & troubleshooting

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- Use git push -u for new stats branch creation
- Add read:org to required token scopes in docs
- Remove torvalds from example users (API rate limit concerns)
@chatgpt-codex-connector
Copy link

Codex usage limits have been reached for code reviews. Please check with the admins of this repo to increase the limits by adding credits.
Credits must be used to enable repository wide code reviews.

@netlify
Copy link

netlify bot commented Jan 14, 2026

Deploy Preview for relaxed-lollipop-b6bc17 failed. Why did it fail? →

Name Link
🔨 Latest commit aeb2fa0
🔍 Latest deploy log https://app.netlify.com/projects/relaxed-lollipop-b6bc17/deploys/6967d8da3ba8d800088307de

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant