Github 貪吃蛇 主頁設置

  • 自動化腳本
    • 頂部元信息
    • 觸發條件(`on:`)
    • 作業(`jobs:`)
    • 步驟(`steps:`)
      • 1. 生成 SVG
      • 2. 推送到 `output` 分支
  • Commit & Push
  • 在 README 里引用

參考:https://github.com/Platane/Platane/tree/master

首先寫個自動化腳本 .github/workflows/snake.ymlGitHub Actions 會按計劃去生成并提交最新版的 “貪吃蛇” SVG。緊接著,再在你的 README.md 中引用它,就能看到效果啦!

自動化腳本

這一部分是 每天/每次你推代碼/手動運行 時,自動生成最新的兩張 SVG:淺色和深色「貪吃蛇貢獻動畫」;然后把它們提交到 output 分支。
在這里插入圖片描述

首先,登錄后,點擊倉庫頁面上方的 Add fileCreate new file,在 “Name your file…” 的輸入框中,直接輸入路徑:.github/workflows/snake.yml,在下方的大編輯區域,粘貼 workflow 內容:

# workflow name
name: generate animationon:# run automatically every 24 hoursschedule:- cron: "0 */24 * * *" # allows to manually run the job at any timeworkflow_dispatch:# run on every push on the master branchpush:branches:- masterjobs:generate:permissions: contents: writeruns-on: ubuntu-latesttimeout-minutes: 5steps:# generates a snake game from a github user (<github_user_name>) contributions graph, output a svg animation at <svg_out_path>- name: generate github-contribution-grid-snake.svguses: Platane/snk/svg-only@v3with:github_user_name: ${{ github.repository_owner }}outputs: |dist/github-contribution-grid-snake.svgdist/github-contribution-grid-snake-dark.svg?palette=github-dark# push the content of <build_dir> to a branch# the content will be available at https://raw.githubusercontent.com/<github_user>/<repository>/<target_branch>/<file> , or as github page- name: push github-contribution-grid-snake.svg to the output branchuses: crazy-max/ghaction-github-pages@v3.1.0with:target_branch: outputbuild_dir: distenv:GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

這段 GitHub Actions 的 YAML 文件是用來定時(和按需/每次推送)自動生成「貪吃蛇貢獻動畫」SVG,然后把它們發布到指定分支上的。

頂部元信息

name: generate animation
  • 給這個 Workflow 起了個名字 “generate animation”。

觸發條件(on:

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

    • cron: "0 */24 * * *" 表示每天整點觸發一次(等同于“每 24 小時執行一次”)。
  2. workflow_dispatch

    • 允許你在 GitHub 界面上手動點擊 “Run workflow” 來觸發。
  3. pushmaster 分支

    • 只要有人往 master 分支 push 代碼,就會觸發這個 Workflow。
    • 當你在倉庫的 master(或 main)分支上做任何提交/推送操作時,GitHub 都會發出一個 “push” 事件,觸發對應配置中定義了 push: branches: [master] 的工作流。

這樣就保證了:

  • 自動定時更新
  • 可以手動隨時更新
  • 每次推 master 時也會更新

Tip:現在很多倉庫默認主分支名字是 main 而不是 master,如果你的主分支叫 main,記得把配置改成:

on:push:branches:- main

這樣才會在你真正常用的主分支推送時觸發工作流。

  • 進入你倉庫主頁,在頁面正中偏上,有一個下拉框寫著 “Branch: …”,它默認顯示的那個分支,就是你的主分支名稱(比如 mainmaster)。
  • 或者點進 Settings →?Branches(左側菜單),在 “Default branch” 一欄就能看到。

作業(jobs:

jobs:generate:permissions: contents: writeruns-on: ubuntu-latesttimeout-minutes: 5
  • generate:作業 ID,隨便起名。
  • permissions: contents: write:給這個作業寫權限,才能往分支里提交文件。
  • runs-on: ubuntu-latest:在最新的 Ubuntu 虛擬機上跑。
  • timeout-minutes: 5:如果跑超 5 分鐘還沒結束,就強制終止。

步驟(steps:

1. 生成 SVG

- name: generate github-contribution-grid-snake.svguses: Platane/snk/svg-only@v3with:github_user_name: ${{ github.repository_owner }}outputs: |dist/github-contribution-grid-snake.svgdist/github-contribution-grid-snake-dark.svg?palette=github-dark
  • uses: Platane/snk/svg-only@v3
    調用了社區提供的 Platane/snk Action,只要給它 GitHub 用戶名,就能抓取該用戶的過去一年貢獻熱圖,并在上面繪制“貪吃蛇”動畫

  • github_user_name: ${{ github.repository_owner }}
    自動傳入倉庫的擁有者用戶名(也就是你自己的 GitHub 用戶名),無需硬編碼。

  • outputs

    • dist/github-contribution-grid-snake.svg:生成的淺色主題 SVG。
    • dist/github-contribution-grid-snake-dark.svg?palette=github-dark:生成的深色主題 SVG(通過 query 參數切換配色)。

生成后會把兩個文件都放進工作目錄下的 dist/ 文件夾。

2. 推送到 output 分支

- name: push github-contribution-grid-snake.svg to the output branchuses: crazy-max/ghaction-github-pages@v3.1.0with:target_branch: outputbuild_dir: distenv:GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
  • uses: crazy-max/ghaction-github-pages@v3.1.0
    這是一個方便把某個目錄內容發布到指定分支(通常用于 GitHub Pages 或存放生成文件)的 Action。
  • target_branch: output
    dist/ 目錄下的文件推送到當前倉庫的 output 分支。
  • build_dir: dist
    指定要發布的本地目錄就是前一步生成的 dist/
  • GITHUB_TOKEN
    內置的 secrets.GITHUB_TOKEN 用來做認證,允許寫入 output 分支。

Commit & Push

編輯完上述 .github/workflows/snake.yml 后,Commit & Push 到 GitHub,等 Action 跑完,檢查 output 下是否有兩張 svg

在這里插入圖片描述
在這里插入圖片描述

在 README 里引用

更新 README 中的 鏈接指向這兩個 SVG,

<picture><source media="(prefers-color-scheme: dark)"srcset="https://raw.githubusercontent.com/你的用戶名/你的倉庫/output/github-contribution-grid-snake-dark.svg"><source media="(prefers-color-scheme: light)"srcset="https://raw.githubusercontent.com/你的用戶名/你的倉庫/output/github-contribution-grid-snake.svg"><img alt="🐍 Snake eating contributions"src="https://raw.githubusercontent.com/你的用戶名/你的倉庫/output/github-contribution-grid-snake.svg">
</picture>

再次 Commit & Push,刷新你的個人主頁,就能看到「貪吃蛇吃你的貢獻」在 README 里動起來了 🎉

這樣,你的個人主頁上就會不斷更新,展示一個真正基于你自己 GitHub 活動數據的「貪吃蛇」動畫了。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/915312.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/915312.shtml
英文地址,請注明出處:http://en.pswp.cn/news/915312.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

關于Spring RestTemplate

? 一、概述RestTemplate 是 Spring Framework 提供的一個同步 HTTP 客戶端工具&#xff0c;用于簡化與 RESTful API 的交互。它封裝了底層 HTTP 通信細節&#xff0c;提供了統一的 API 來發送各種 HTTP 請求&#xff08;GET、POST、PUT、DELETE 等&#xff09;&#xff0c;并自…

異步解決一切問題 |消息隊列 |減少嵌套 |hadoop |rabbitmq |postsql

設計準則“為什么要考慮這個問題”The forward logic is only about 10% of your code, everything else is 90%.主流邏輯 10%保障擴容和穩健的代碼設計90%同步代碼就是綁在一個繩上的螞蚱異步就是實現了解耦這個異步或許有點類似于--一些分布式數據的處理 設計如何實現的呢?…

Spring AI 項目實戰(十八):Spring Boot + AI + Vue3 + OSS + DashScope 實現高效語音識別系統(附完整源碼)

系列文章 序號 文章名稱 1 Spring AI 項目實戰(一):Spring AI 核心模塊入門 2 Spring AI 項目實戰(二):Spring Boot + AI + DeepSeek 深度實戰(附完整源碼) 3 Spring AI 項目實戰(三):Spring Boot + AI + DeepSeek 打造智能客服系統(附完整源碼) 4

指針數組和數組指針的應用案例

1. 指針數組應用&#xff1a;查找最長字符串用指針數組存儲若干字符串&#xff0c;編寫函數找出其中最長的字符串&#xff08;若有多個&#xff0c;返回第一個&#xff09;。#include <stdio.h> #include <string.h>// 函數原型&#xff1a;找出最長字符串 const c…

MCU進入低功耗模式前的引腳處理原則和方法 --> 以最小化低功耗電流

在MCU進入低功耗模式(如Sleep, Stop, Standby, Deep Sleep等)前,精心處理每一個GPIO引腳的狀態是最大限度降低功耗電流的關鍵一步。懸空或配置不當的引腳是導致“漏電”的常見原因。以下是處理引腳以達到最小低功耗電流的原則和方法: ?? 核心原則 避免浮空輸入: 浮空(…

張 關于大語言模型(LLM)置信度研究的經典與前沿論文 :溫度縮放;語義熵;自一致性;事實與反思;檢索增強;黑盒引導;

關于大語言模型(LLM)置信度研究的經典與前沿論文 :溫度縮放;語義熵;自一致性;事實與反思;檢索增強;黑盒引導; 目錄 關于大語言模型(LLM)置信度研究的經典與前沿論文 :溫度縮放;語義熵;自一致性;事實與反思;檢索增強;黑盒引導; 一、校準方法:讓模型概率更貼近真實正確…

ICT測試原理之--什么是假短

ICT測試原理之–什么是假短 文章目錄ICT測試原理之--什么是假短一、假短的由來防止假短二、無法檢測的短路示例解決無法檢測的短路調試短路文件調試意外斷路調試意外短路三、調試假短報告短路和斷路報告假短報告短路設備/引腳功能性短路測試功能性短路測試的語法一、假短的由來…

三種深度學習模型(LSTM、CNN-LSTM、貝葉斯優化的CNN-LSTM/BO-CNN-LSTM)對北半球光伏數據進行時間序列預測

代碼功能 該代碼實現了一個光伏發電量預測系統&#xff0c;采用三種深度學習模型&#xff08;LSTM、CNN-LSTM、貝葉斯優化的CNN-LSTM&#xff09;對北半球光伏數據進行時間序列預測&#xff0c;并通過多維度評估指標和可視化對比模型性能。 算法步驟 1. 數據預處理 數據導入&am…

Typecho+阿里云CDN完整配置:防止DDoS攻擊與IP暴露

文章目錄 Typecho使用阿里云CDN保護網站真實IP地址的完整指南 背景與問題分析 技術選型與方案設計 詳細實施步驟 第一步:阿里云CDN基礎配置 第二步:DNS解析設置 第三步:源站服務器防護配置 Nginx服務器配置 防火墻配置(以Ubuntu為例) 第四步:Typecho配置調整 高級防護措施…

[硬件]運算放大器對相位噪聲的影響與設計提示

運算放大器對相位噪聲的影響與設計提示 文章目錄運算放大器對相位噪聲的影響與設計提示運放影響位噪聲的主要因素如何最小化運放對相位噪聲的影響總結運算放大器是常用的模擬電路元器件&#xff0c;通常用于放大信號&#xff0c;增強驅動。但是當使用運放放大一個信號時&#x…

github jekyll+chirpy主題搭建博客

github jekyllchirpy主題搭建博客 標簽&#xff1a;后端、blog、jekyll 全文鏈接 本文簡要介紹了如何基于 GitHub Pages、Jekyll 及 Chirpy 主題搭建個人博客的流程和注意事項。 主要內容 GitHub Pages 站點簡介 可免費搭建個人博客&#xff0c;支持自定義域名&#xff0c;適…

Flutter狀態管理篇之ValueNotifier(三)

目錄 前言 一、ValueNotifier 概述 二、ValueNotifier 的實現原理 1.類定義 1.類定義 2.關鍵字段 3.關鍵方法 1.構造函數 2.getter:value 3.setter:value: 4.toString 2.繼承自ChangeNotifier的機制 3.ValueListenable 接口 三、ValueNotifier 的用法 1.基本用法…

Ubuntu togo 系統安裝指南

制作一個 “Ubuntu To Go” 系統&#xff08;也就是一個可以隨身攜帶、在不同電腦上啟動并擁有持久化存儲的U盤系統&#xff09;是解決你問題的完美方案。 這樣一來&#xff0c;你就可以&#xff1a; 不改動你現有的電腦系統 (保留你的Ubuntu 20.04 或 Windows)。擁有一個完整…

Python爬蟲實戰:研究pefile庫相關技術

一、引言 可執行文件(Portable Executable,PE)是 Windows 操作系統中最常見的文件格式,包括.exe、.dll、.sys 等多種類型。對 PE 文件的分析在軟件逆向工程、惡意軟件檢測、系統安全研究等領域具有重要意義。傳統的 PE 文件分析主要依賴手動操作和專業工具,效率較低且對分…

盟接之橋說制造:差異化定位與效率競爭的雙輪驅動

在當今競爭日益激烈的商業環境中&#xff0c;企業如何在市場中脫穎而出&#xff0c;既避免陷入同質化的價格戰&#xff0c;又能夠通過效率提升實現可持續發展&#xff0c;是每一個經營者必須思考的問題。本文將圍繞“差異化”與“效率競爭”兩大核心戰略展開分析&#xff0c;探…

Vue基礎(前端教程①-路由)

項目結構src/├── router/│ └── index.js # 路由配置├── components/│ ├── Home.vue # 首頁組件│ ├── About.vue # 關于頁組件│ └── Contact.vue # 聯系頁組件├── App.vue # 根組件&#xff08;含導航欄&…

駕馭 Spring Boot 事件機制:8 個內置事件 + 自定義擴展實戰

駕馭 Spring Boot 事件機制&#xff1a;8 個內置事件 自定義擴展實戰在 Spring Boot 應用的完整生命周期中&#xff0c;框架為我們預埋了 8 個關鍵事件&#xff08;Application-level & Context-level&#xff09;。 理解并善用這些事件&#xff0c;可以在“不侵入框架、…

【kafka4源碼學習系列】kafka4總體架構介紹

二 kafka架構介紹學習一個系統之前很重要的一點就是先了解這個系統整體的架構&#xff0c;這能夠使我們對整個系統有個總體的認識&#xff0c;清楚地知道這個系統有什么能力。這不僅幫助我們學習時快速定位到我們想要的內容&#xff0c;還能避免我們學習過程中在龐大的系統中迷…

java內存圖

java內存圖java文件運行流程程序的內存空間認識虛擬機棧程序的執行流程認識堆java的類與對象的關系java文件運行流程 有這樣的一份 java 文件 在該目錄下的終端運行 javac Hello.java 命令&#xff0c;會生成 Hello.class 文件&#xff0c;內容如下&#xff1a; Hello.java 打…

vscode編輯Markdown文件

一.安裝Markdown的插件 vscode的擴展&#xff0c;搜索Markdown Preview Enhanced的插件&#xff0c;并安裝。 其他的常用插件&#xff0c;還包括&#xff1a; Markdown All in One &#xff1a;提供了許多有用的功能&#xff0c;如快捷鍵支持、自動預覽、TOC&#xff08;目錄&…