【好玩】在 GitHub 主页上玩转贪吃蛇

在探索如何为我的 GitHub 主页添加更多个性化元素的过程中,我偶然发现了一种在主页上展示贪吃蛇游戏的独特方法。受到这个想法的启发,我决定尝试实现它,并在此分享我的经验和学到的教训。

账号准备

首先,你需要一个 GitHub 账号。如果你还没有,那么首先创建一个吧!

建立仓库

接着,创建一个与你的 GitHub 用户名相同的仓库。这是一个特殊的仓库,GitHub 会特别处理,你在这个仓库的 README.md 文件中的内容会显示在你的 GitHub 个人主页上。

复制代码,执行 Action

使用以下 GitHub Actions 工作流程,自动生成贪吃蛇游戏的 SVG 动画,并将其推送到仓库中。你需要将这段 YAML 代码添加到 .github/workflows 目录下的一个新文件中,比如命名为 snake-game.yml

yaml 复制代码
name: generate animation

on:
  schedule:
    - cron: "0 */24 * * *"
  workflow_dispatch:
  push:
    branches:
      - master

jobs:
  generate:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - name: generate github-contribution-grid-snake.svg
        uses: Platane/snk/svg-only@v3
        with:
          github_user_name: ${{ github.repository_owner }}
          outputs: |
            dist/github-contribution-grid-snake.svg
            dist/github-contribution-grid-snake-dark.svg?palette=github-dark
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
      - name: push to the output branch
        uses: crazy-max/ghaction-github-pages@v3.1.0
        with:
          target_branch: output
          build_dir: dist
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

建立 README.md 文件,放上 SVG 图片

在你的仓库中创建一个 README.md 文件,并使用 Markdown 语法引入上面 Action 自动生成的 SVG 图片。

markdown 复制代码
![Snake animation](https://github.com/你的用户名/你的用户名/blob/output/github-contribution-grid-snake.svg)

比如:

踩坑和总结

在这个项目的实现过程中,我遇到了一些挑战和学习机会:

  1. 分支命名差异 :注意 GitHub 默认分支的命名可能是 mainmaster。根据你的实际情况修改工作流文件。

  2. 权限问题:刚开始时我遇到了权限不足的错误。经过研究,我发现需要正确设置 GitHub Actions 的权限,确保它有足够的权限来推送文件到仓库。

  3. 参考文章【好玩】如何在github主页放一条贪吃蛇

    解决方案包括使用个人访问令牌(PAT)并在仓库的 Settings > Secrets 中配置它。更重要的是,要确保在 Settings > Actions > General > Workflow permissions 中勾选 Read and write permissions

通过这次项目,我不仅学习到了如何在 GitHub 主页上添加贪吃蛇游戏,也对 GitHub Actions 和仓库权限设置有了更深的理解。希望我的经验能帮助到其他寻求为他们的 GitHub 主页添加趣味性元素的开发者。

当然可以。在文章或博客的结尾添加一个温馨的呼吁,鼓励读者互动,是一个很好的做法。这不仅能增加文章的可见度,还能提供反馈机会,让作者了解内容的影响力。以下是你可以在文末添加的示例文本:

如果你觉得这篇文章对你有帮助,不妨给个赞👍或在评论中分享你的想法!你的支持是我创作的最大动力

相关推荐
牛奔6 小时前
Go 如何打印调试深层或嵌套的结构体
开发语言·后端·golang
红烧大青虫6 小时前
HarmonyOS应用开发实战:小事记 - 数据迁移策略:RDB 表结构变更的版本号管理与 onUpgrade 回调
后端·华为·harmonyos·鸿蒙系统
geovindu7 小时前
go: Iterative Algorithms
开发语言·后端·算法·golang·迭代算法
阳光是sunny8 小时前
LangGraph实战教程:defer延迟节点——让收尾工作自动排到最后
前端·人工智能·后端
前端工作日常8 小时前
我学习到的Java中domain和dto区别
java·后端
kite01218 小时前
Go语言Map深度解析与最佳实践
开发语言·后端·golang
阳光是sunny8 小时前
LangGraph实战教程:控制流详解
前端·人工智能·后端
hold?fish:palm9 小时前
kv存储主从复制的设计与实现
c++·redis·后端
swipe10 小时前
07|(前端转后全栈)为什么后端也要缓存?从前端缓存思维理解 Redis
前端·后端·全栈
9523610 小时前
Docker - 基础
运维·后端·docker·容器