diff --git a/.github/workflows/snake.yml b/.github/workflows/snake.yml new file mode 100644 index 0000000..a97ee0e --- /dev/null +++ b/.github/workflows/snake.yml @@ -0,0 +1,35 @@ +name: Generate Snake + +on: + schedule: + - cron: "0 */12 * * *" # 每 12 小时更新一次 + workflow_dispatch: # 支持手动触发 + + # 说明:不使用 push 触发,避免本工作流提交后自我循环触发 + +permissions: + contents: write + +jobs: + generate: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + # 生成贡献蛇(浅色 + 深色两版,自动适配主题) + - name: Generate snake SVG + uses: Platane/snk/svg-only@v3 + with: + github_user_name: ${{ github.repository_owner }} + outputs: | + profile/snake.svg + profile/snake-dark.svg?palette=github-dark + + # 提交生成的蛇到仓库(与 stats.yml 保持同样的提交模式) + - name: Commit snake + run: | + git config user.name "github-actions[bot]" + git config user.email "41898282+github-actions[bot]@users.noreply.github.com" + git add profile/snake.svg profile/snake-dark.svg + git commit -m "Update snake" || exit 0 + git push diff --git a/CLAUDE.md b/CLAUDE.md index fc209a8..7d6bf43 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -7,8 +7,8 @@ 这是一个 **GitHub 个人主页 README 仓库**(`daitcl/daitcl`,即与 GitHub 用户名同名的特殊仓库)。它不是一个软件项目:没有源代码、构建系统、测试套件或 Lint 工具。该仓库的唯一用途是渲染 https://github.com/daitcl 上展示的个人主页。 - `README.md` — 主页内容,使用中文编写,会直接渲染为 GitHub 个人主页页面。包含作者 CSDN 博客、个人网站(daitcc.top)、爱发电赞助、邮箱、微信公众号等链接。 -- `profile/stats.svg`、`profile/top-langs.svg` — README 通过相对路径(`./profile/stats.svg`)引用的 GitHub 统计卡片。 -- `.github/workflows/` — 仓库中唯一有实际意义的"代码",两个 GitHub Actions 负责主页的自动化。 +- `profile/stats.svg`、`profile/top-langs.svg`、`profile/snake.svg`、`profile/snake-dark.svg` — README 通过相对路径(`./profile/xxx.svg`)引用的 GitHub 统计卡片与贡献蛇。 +- `.github/workflows/` — 仓库中唯一有实际意义的"代码",三个 GitHub Actions 负责主页的自动化。 ## GitHub Actions(需要了解的自动化) @@ -17,6 +17,11 @@ - 使用 `readme-tools/github-readme-stats-action@v1` 重新生成 `profile/stats.svg` 和 `profile/top-langs.svg`。 - 自动提交这些 SVG(提交信息为 "Update README cards")并推送回仓库——因此 `profile/*.svg` 可能在 main 分支上自动变化,无需本地修改。请将这两个文件视为**生成产物**,不要手动编辑。 +### `.github/workflows/snake.yml` — 生成贡献蛇 +- 每 12 小时定时运行(`0 */12 * * *`),也支持 `workflow_dispatch` 手动触发。 +- 使用 `Platane/snk/svg-only@v3` 生成 `profile/snake.svg`(浅色)与 `profile/snake-dark.svg`(深色),并自动提交(提交信息为 "Update snake")。 +- **刻意不使用 push 触发**,避免提交后自我循环。若要生成蛇,需通过 GitHub 界面手动触发或等待定时任务。 + ### `.github/workflows/sync.yml` — 镜像推送到 Gitee 和 GitCode - 在**任意分支上的每次 push** 时触发(另支持 `workflow_dispatch`)。 - 如果 Gitee / GitCode 上不存在同名仓库,会通过各自的 V5 REST API 自动创建公开仓库,然后 **强制推送** 分支和标签到两个镜像。 diff --git a/README.md b/README.md index c50aa64..c6c8bf8 100644 --- a/README.md +++ b/README.md @@ -35,6 +35,26 @@ --- +
+
+
+
+