Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

一个基于Go的动态赞助者图片生成工具,支持多平台赞助数据聚合与展示

License

Notifications You must be signed in to change notification settings

versun/SponsorGen

Repository files navigation

SponsorGen

一个基于Go的动态赞助者显示生成工具,支持多平台赞助数据聚合与展示。SponsorGen可以生成SVG和JSON格式的赞助者展示,适用于开源项目的README文件或网站,支持GitHub、OpenCollective、Patreon和Afdian等平台。

请注意:所有代码(包括本README文档)均由 AI 生成,不保证其安全性和可用性,请酌情使用

效果预览

下面是一个示例SVG赞助者展示:

赞助者展示示例

功能特性

  • 多平台支持:集成GitHub Sponsors、OpenCollective、Patreon和Afdian等赞助平台
  • 灵活配置:通过环境变量管理所有设置
  • 动态更新:支持基于时间间隔的自动刷新和每日凌晨00:00的定时刷新
  • 多格式输出:生成SVG图像和JSON数据
  • 自定义样式:支持自定义字体、颜色、尺寸等显示参数
  • Docker支持:提供容器化部署方案
  • 缓存机制:减少API请求,提高性能

快速开始

使用Docker

# 拉取镜像
docker pull ghcr.io/versun/sponsorgen:latest
# 运行容器(使用环境变量配置)
docker run -p 5000:5000 \
 -e GITHUB_TOKEN=your_github_token \
 -e GITHUB_LOGIN=your_github_login \
 -e AFDIAN_USER_ID=your_afdian_user_id \
 -e AFDIAN_TOKEN=your_afdian_token \
 ghcr.io/versun/sponsorgen:latest

或者使用docker-compose:

# 使用docker-compose启动服务
docker-compose up -d

本地运行

  1. 克隆仓库
git clone https://github.com/versun/sponsorgen.git
cd sponsorgen
  1. 设置环境变量(示例)
# 输出设置
export OUTPUT_DIR="./output"
export CACHE_DIR="./cache"
export REFRESH_MINUTES="60"
export DEFAULT_AVATAR="./assets/default_avatar.svg"
# GitHub赞助设置(可选)
export GITHUB_TOKEN="your_github_token"
export GITHUB_LOGIN="your_github_login"
# Afdian赞助设置(可选)
export AFDIAN_USER_ID="your_afdian_user_id"
export AFDIAN_TOKEN="your_afdian_token"
# 渲染设置(可选)
export AVATAR_SIZE="45"
export SVG_WIDTH="800"
export SHOW_AMOUNT="false"
export SHOW_NAME="false"
  1. 构建并运行
go build -o sponsorgen
./sponsorgen -port 5000
  1. 访问服务

配置选项

以下是可用的环境变量配置选项:

环境变量 类型 默认值 说明
OUTPUT_DIR string "./output" 输出文件目录
CACHE_DIR string "./cache" 缓存文件目录
REFRESH_MINUTES int 60 自动刷新间隔(分钟)
DEFAULT_AVATAR string "./assets/default_avatar.svg" 默认头像路径
GITHUB_TOKEN string "" GitHub Personal Access Token
GITHUB_LOGIN string "" GitHub用户名
INCLUDE_PRIVATE bool false 是否包含私人赞助者
GITHUB_ORGS string "" 包含的GitHub组织,用逗号分隔
EXCLUDE_SPONSORS string "" 排除的赞助者,用逗号分隔
INCLUDE_SPONSORS string "" 强制包含的赞助者,用逗号分隔
OPENCOLLECTIVE_SLUG string "" OpenCollective项目标识
OPENCOLLECTIVE_KEY string "" OpenCollective API密钥
PATREON_TOKEN string "" Patreon访问令牌
PATREON_CAMPAIGN_ID string "" Patreon活动ID
AFDIAN_USER_ID string "" 爱发电用户ID
AFDIAN_TOKEN string "" 爱发电TOKEN
AVATAR_SIZE int 45 头像尺寸(像素)
AVATAR_MARGIN int 5 头像间距(像素)
SVG_WIDTH int 800 SVG宽度(像素)
FONT_SIZE int 14 字体大小(像素)
FONT_FAMILY string "system-ui..." 字体系列
SHOW_AMOUNT bool false 是否显示赞助金额
SHOW_NAME bool false 是否显示赞助者名称
BACKGROUND_COLOR string "transparent" 背景颜色
PADDING_X int 10 X轴内边距(像素)
PADDING_Y int 10 Y轴内边距(像素)

在GitHub README中使用

将以下内容添加到您的README.md文件中:

## 赞助者
![赞助者](https://your-sponsorgen-url.com/sponsors.svg)

Docker镜像发布

本项目使用GitHub Actions自动构建并发布Docker镜像。详情请查看 Docker发布指南

API端点

端点 方法 说明
/ GET 首页,显示简单的使用说明
/sponsors.svg GET 生成并返回赞助者SVG
/sponsors.json GET 返回赞助者JSON数据
/refresh GET 强制刷新赞助者数据
/static/* GET 访问生成的静态文件

贡献指南

欢迎提交Pull Request或Issue!以下是一些贡献指南:

  1. Fork仓库
  2. 创建您的特性分支 (git checkout -b feature/amazing-feature)
  3. 提交您的改动 (git commit -m 'Add some amazing feature')
  4. 推送到分支 (git push origin feature/amazing-feature)
  5. 开启一个Pull Request

许可证

此项目采用MIT许可证 - 详情请参阅 LICENSE 文件。

技术栈

  • Go 1.19+
  • Docker/Docker Compose
  • GitHub Actions (CI/CD)

About

一个基于Go的动态赞助者图片生成工具,支持多平台赞助数据聚合与展示

Resources

License

Stars

Watchers

Forks

Packages

AltStyle によって変換されたページ (->オリジナル) /