github-lang-box
April 27, 2025 · View on GitHub
💻📌 使用 Gist 显示你最常用的编程语言
Aveek-Saha/lang-stats-box 的 Fork,做了一些增强修改。
github-lang-box
✨ 增强功能
- ✅ 更新依赖项并完全使用 TypeScript 重构
- 📦 发布到 npm,支持通过
npx或pnpx轻松使用 - 🔑 使用
/user/reposendpoint 获取所有存储库(包括私有存储库) - 🎨 支持自定义描述、语言排除和存储库过滤
注意: 由于使用了
/user/repos接口,如果使用「Fine-grained access tokens」必须具有metadata:read权限。
使用方法
作为 CLI 使用
# 直接使用 npx/pnpx 运行
npx github-lang-box [options]
# 或全局安装
npm install -g github-lang-box
github-lang-box [options]
选项:
--dry- 预览输出而不更新 Gist
环境变量:
| 变量 | 描述 |
|---|---|
| GH_TOKEN | 具有 gist 和 metadata:read 范围的 GitHub access token |
| GIST_ID | 你的 Gist URL 中的 ID:https://gist.github.com/username/8335e85451541072dd25fda601129f7d |
| GH_USERNAME | 你的 GitHub 用户名 |
| EXCLUDE | (可选)要排除的语言,使用英文逗号分隔 示例: Jupyter Notebook,CSS,TeX,PHP |
| EXCLUDE_REPO | (可选)要排除的存储库,使用英文逗号分隔 示例: username/repo1,username/repo2 |
| DESCRIPTION | (可选)Gist 的自定义描述 |
GitHub Action 设置
前提条件
- 在 https://gist.github.com/ 创建一个新的公共 GitHub Gist
- 在 https://github.com/settings/tokens?type=beta 生成一个具有
gist和metadata:read范围的访问令牌
设置 Workflow
- 将 此 workflow 文件 复制到你的存储库的
.github/workflows/目录 - 转到你的存储库的 Settings > Secrets
- 按上述环境变量表添加所需的密钥
- 提交并推送你的更改
致谢
灵感来自 @matchai 的 bird-box。
这是 @Aveek-Saha 的 lang-stats-box 的一个 fork。