Skip to content

52pojie01/github-profile-dashboard

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎯 GitHub Profile Dashboard

自我量化 Dashboard — 每天自动刷新 GitHub 个人主页 README

项目定位

每天自动刷新 GitHub 个人主页 README,展示一个「活的人」:最近听的歌、代码时长、在读的书、今日步数等。别人点进你主页看到的是动态的生活切片,不是冷冰冰的 repo 列表。

数据源

数据源 说明 需要配置
🎵 Spotify 最近播放的 5 首歌 SPOTIFY_CLIENT_ID, SPOTIFY_CLIENT_SECRET, SPOTIFY_REFRESH_TOKEN
⏱️ WakaTime 本周编码时长和语言分布 WAKATIME_API_KEY
📚 微信读书 当前在读的书籍 WEREAD_COOKIE
🐙 GitHub 最近动态 gh CLI 登录即可
🌤️ 天气 当前城市天气 无需配置(可选 WEATHER_CITY
🏃 步数 今日步数 FITNESS_STEPSFITNESS_FILE

快速开始

# 安装依赖
pip install -r requirements.txt

# 查看配置状态
python -m dashboard.cli config

# 预览生成结果(不推送)
python -m dashboard.cli update --dry-run

# 完整更新(推送到 GitHub)
python -m dashboard.cli update

# 只更新部分数据源
python -m dashboard.cli update --only github,weather

# 本地预览 HTML
python -m dashboard.cli preview

GitHub Actions 自动更新

  1. Fork 本仓库
  2. 在仓库 Settings → Secrets 中配置 API Keys
  3. 工作流会每天 UTC 8:00(北京时间 16:00)自动运行

目录结构

github-profile-dashboard/
├── dashboard/
│   ├── cli.py              # CLI 接口
│   ├── dashboard.py         # 主流程
│   ├── card_renderer.py     # SVG 卡片生成器
│   ├── readme_generator.py  # README 生成器
│   ├── updater.py           # GitHub 推送器
│   ├── collectors/          # 数据源采集器
│   │   ├── base.py          # 基类
│   │   ├── spotify.py       # Spotify
│   │   ├── wakatime.py      # WakaTime
│   │   ├── weread.py        # 微信读书
│   │   ├── github.py        # GitHub
│   │   ├── weather.py       # 天气
│   │   └── fitness.py       # 步数
│   └── templates/
│       └── readme.md.j2     # README 模板
├── tests/                   # 测试
├── assets/                  # 生成的 SVG 文件
└── examples/                # 示例 README

技术栈

  • Python 3.10+
  • Click (CLI)
  • Jinja2 (模板)
  • Requests (HTTP)
  • SVG 纯手写

License

MIT

About

自我量化Dashboard - GitHub Profile README自动更新:Spotify/代码时长/微信读书/天气/步数

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages