本项目收集了中国开发者在 GitHub 上关注者数据,并区分开发者和 Markdown 工程师进行排名。
- 数据来源: 从GitHub官方API获取公开数据
- 自动更新: 每天自动更新数据,保持排行榜的时效性
- 快速加载: 网站加载速度快,访问体验好
- 手机友好: 手机、平板、电脑都能正常访问浏览
- Astro: 高性能静态站点生成框架
- Tailwind CSS: 原子化 CSS 框架
- TypeScript: 类型安全的开发体验
- GitHub REST API v3: 公开数据获取
- Node.js: 数据处理服务
- GitHub Actions: 自动化工作流
- pnpm: 高性能包管理器
- Vite: 现代前端构建工具
- Node.js >= 18.x
- pnpm >= 8.x
- GitHub API Token (用于数据获取)
- 克隆仓库:
git clone https://github.com/hellokaton/china-ranking.git
cd china-ranking
- 安装依赖:
pnpm install
- 配置环境变量:
cp .env.example .env.local
# 编辑 .env.local 添加你的 GitHub Token
- 启动开发服务器:
pnpm dev
- 构建生产版本:
pnpm build
- 预览生产构建:
pnpm preview
项目数据处理遵循以下流程:
- 数据采集: 通过 GitHub API 获取公开用户信息
- 地区识别: 根据公开资料识别中国区用户
- 账号过滤: 过滤组织账号,仅保留个人开发者账号
- 开发者分类: 基于贡献类型将开发者分为不同类别,包括区分 Markdown 工程师和代码开发者
- 贡献分析: 基于仓库类型、提交类型等多维度分析
- 数据存储: 生成结构化数据文件
- 定期更新: 通过自动化工作流定期更新数据
# 设置 GitHub Token 环境变量
export GITHUB_TOKEN=your_github_token
# 执行数据获取脚本
pnpm fetch-data
├── public/ # 静态资源
├── src/
│ ├── components/ # 通用组件
│ ├── layouts/ # 页面布局模板
│ ├── pages/ # 页面路由
│ ├── utils/ # 工具函数
│ └── types/ # TypeScript 类型定义
├── scripts/ # 数据处理脚本
│ └── fetch-github-users.js # GitHub 用户数据获取
├── astro.config.mjs # Astro 配置
└── tailwind.config.cjs # Tailwind 配置
我们欢迎各种形式的贡献,包括但不限于:
- 功能改进与 Bug 修复
- 性能优化
- 文档完善
- 数据处理方法优化
- UI/UX 改进
- Fork 本仓库
- 创建功能分支 (
git checkout -b feature/amazing-feature
) - 提交变更 (
git commit -m 'feat: add amazing feature'
) - 推送到远程分支 (
git push origin feature/amazing-feature
) - 创建 Pull Request
请确保遵循我们的代码规范和提交规范。
本项目采用 MIT 许可证。
声明: 这个排行榜只是为了技术交流学习,所有数据都来自GitHub公开API,不是什么官方排名。数据仅供参考,请勿用于商业用途。