Skip to content

WJZ-P/CommitCraft

Repository files navigation

把 GitHub 统计数据锻造成 Minecraft 风格的像素风 SVG的服务。

Contributors   Forks   Stargazers   Issues

CommitCraft

Commit Craft

中文 · English

查看 Demo · 报告 Bug · 提出新特性


Minecraft

“曲终人散,黄粱一梦。玩家开始了新的梦境。玩家再次做起了梦,更好的梦。玩家就是宇宙。玩家就是爱。”

“你就是那个玩家。”

“醒来吧。”

——《终末之诗》

🖥️ 网站主页(点击图片跳转)

网站主页

✨ 功能特性

模块 说明
🗺️ 贡献地图 将年度贡献热力图转换为 Minecraft 风格等距地形地图,高度和矿石随提交量变化
🏳️ 旗帜大厅 根据 GitHub 统计数据生成战绩旗帜,支持拖动旋转视角
🪪 玩家护照 生成玩家护照卡片,支持自定义个性签名
📦 仓库卡片 展示仓库名称、描述、语言与热度信息,支持中英文混合导出

所有输出均为 SVG 格式 —— 清晰缩放、易于嵌入网页和 README。

🗺️ 贡献地图

Contribution Map

🪪 玩家护照

Player Passport

🏳️ 旗帜大厅

Commits Banner Stars Banner PRs Banner Repos Banner

📦 仓库卡片

Repo Card

📖 背景

本项目最初基于 Next.js 框架开发,原计划部署到 Vercel。后来考虑到 Cloudflare Workers 的免费额度更加慷慨(每日 10 万次请求免费),决定将项目迁移至 vinext(Vite + Next.js on Cloudflare)框架,以便无缝部署到 Cloudflare Workers 上,在保持 Next.js 开发体验的同时享受 CF 的免费托管政策。

🚀 快速体验

访问在线站点,在输入框中填入:

  • GitHub 用户名 (如 wjz-p)→ 生成 Contribution Map、Banner Hall、Player Passport
  • 仓库短格式 (如 vercel/next.js)→ 生成 Repo Card
  • 仓库完整链接 (如 https://github.com/vercel/next.js)→ 自动解析并生成 Repo Card

点击 CRAFT 即可生成,每个视图支持 下载 .SVG 并提供可复制的 API Endpoint 用于嵌入。

📡 API / 嵌入用法

生成的 SVG 可以通过以下 API 端点直接嵌入到 README 或网页中:

# 贡献地图
https://commit-craft.wjz-p.workers.dev/api/map/{username}.svg

# 贡献地图(开启动画,不建议在 README 中使用 —— GitHub 将 SVG 渲染为 <img>,浏览器禁止 GPU 加速,数百个动画元素会导致严重卡顿)
https://commit-craft.wjz-p.workers.dev/api/map/{username}.svg?animate=true

# 玩家护照(支持自定义签名)
https://commit-craft.wjz-p.workers.dev/api/card/{username}.svg?quote=Your+Quote+Here

# 旗帜大厅(支持旋转角度)
https://commit-craft.wjz-p.workers.dev/api/banner/{username}/{statId}.svg?rotation=30

# 仓库卡片
https://commit-craft.wjz-p.workers.dev/api/repo/{owner}/{repo}.svg

在 Markdown 中嵌入:

![Contribution Map](https://commit-craft.wjz-p.workers.dev/api/map/username.svg)
![Player Passport](https://commit-craft.wjz-p.workers.dev/api/card/username.svg?quote=Your+Quote+Here)
![Banner](https://commit-craft.wjz-p.workers.dev/api/banner/username/statId.svg?rotation=30)
![Repo Card](https://commit-craft.wjz-p.workers.dev/api/repo/owner/repo.svg)

🛠️ 技术栈

📦 本地开发 / Local Development

# 克隆仓库
git clone https://github.com/WJZ-P/CommitCraft.git
cd CommitCraft

# 安装依赖
npm install

# 创建环境变量(需要 GitHub Token)
echo "GITHUB_TOKEN=your_github_token_here" > .env.local

# 启动开发服务器
npm run dev

💡 需要一个 GitHub Personal Access Token(只需 public_repo 权限)来获取贡献数据。

☁️ 部署

项目基于 vinext 构建,原生支持 Cloudflare Workers 部署:

# 构建
npm run build

# 部署到 Cloudflare Workers
npm run deploy

部署前请在 Cloudflare Dashboard 中设置 GITHUB_TOKEN 密钥。

🌐 国际化

支持中文和英文,通过页面右上角按钮切换。语言偏好保存在 Cookie 中。

📝 许可

WJZ_P 用 ❤️ 打造 | 非 Minecraft 官方产品。

©️ 版权说明

该项目签署了 CC BY-NC 4.0 授权许可,详情请参阅 LICENSE

⭐ Star 历史

如果你喜欢这个项目,请给个 ⭐ 吧(๑>◡<๑)!

Stargazers over time