「workouts」把运动记录做成个人主页:热力图、路线地图和多平台同步

Workout Dashboard 页面预览

workouts 是一个可以部署到 GitHub Pages 的个人运动数据看板。它用 React、TypeScript 和 Tailwind CSS 做前端,把跑步、骑行、徒步、健身这些平时散落在不同 App 里的记录,整理成一个长期可看的公开页面。

打开演示页时,它给人的第一印象很像“运动版 GitHub Profile”:不是只展示一次训练截图,而是把年度热力图、路线地图、活动列表、目标进度、连续记录、个人最佳成绩和月度日历放在一起。对跑者或骑行爱好者来说,这种页面的意义不只是好看,而是让多年积累的训练轨迹有了一个不依赖单个平台的归档。

页面顶部可以在 All、Run、Ride、Hike、Gym 之间切换,主视图会跟着过滤不同运动类型。年度热力图用颜色区分活动,右侧有总里程、运动时长、覆盖地区和最新活动;再往下是活动记录表、地图轨迹和 5K、10K、半马、全马等个人最好成绩。它没有把数据藏在复杂菜单里,而是尽量让你一眼看到“这一年到底动了多少”。

真正实用的部分在数据同步。项目把同步脚本也整理了出来,支持 Strava、Garmin 国际版/国区、Keep、Nike Run Club、悦跑圈、COROS、行者、咕咚、OPPO Health,也可以导入本地 GPX/FIT 文件。同步后生成 src/static/activities.json,前端再基于这份静态数据渲染看板。换句话说,它不是一个只放假数据的漂亮模板,而是给了你一条把真实运动记录搬到自己主页上的路。

如果你愿意折腾一点,还可以用 GitHub Actions 自动更新数据,再部署到 GitHub Pages。这样一来,训练记录既能长期保存,也能作为个人主页的一部分被分享出去。对喜欢量化自我、做公开记录,或者想学习个人数据仪表盘设计的前端开发者来说,workouts 都是一个不错的参考。

我觉得它最有意思的地方,是把“运动打卡”从平台动态里拿了出来,变成一个更慢、更个人化的档案。单次跑步当然会很快被时间线冲走,但几年的热力图、路线和 PR 放在同一个页面上,就会变成一种很直观的自我激励。

项目地址

在线演示:https://zhaohongxuan.github.io/workouts/
项目地址:https://github.com/zhaohongxuan/workouts

原创文章,如若转载,请注明出处:https://wefound.cc/p/2664.html

(0)
「Cult UI」给 shadcn/ui 加一层表现力:75+ 动画组件、区块和模板
上一篇 2026年 5月 18日 上午11:33
CodexBar:把 AI 编码额度和重置时间放进 Mac 菜单栏
下一篇 2026年 5月 18日 下午4:06

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注