← 返回首页

SRE Wiki Kit

一键搭建你的 GitHub Pages 个人博客

这是什么

这是基于本博客封装的 Python 一键工具

它把整个 SRE Wiki 拆成可配置的模板,配上两个 Python 脚本(init.py + new_post.py),让你 5 分钟跑出属于自己的博客。

🚀

一键生成

一条命令生成完整静态博客:HTML/CSS/SEO/404/Giscus 评论全齐。

🎨

玻璃质感

粉紫渐变 + 浮动粒子 + 暖色光晕,深色模式自动切换 19:00-07:00。

📝

两种配置

支持交互式问答(小白友好)和 YAML 配置文件(想精调的)。

🤖

自动推送

自动 git init + commit + push 到 gh-pages,GitHub Pages 1 分钟上线。

下载

版本 v1.0 · 2026-06-08
32 KB · 包含源码 + 模板 + Docker + Actions + 完整教程
📦 下载 sre-wiki-kit.zip

不想下载?直接拉 Docker 镜像

项目自带 GitHub Actions,每次推送 tag 自动构建并发布到 ghcr.io,多架构支持(x86_64 + ARM64):

# 1. 拉最新镜像(替换 <username> 为你的 GitHub 用户名)
docker pull ghcr.io/<username>/sre-wiki-kit:latest

# 2. 跑起来
docker run -it --rm -v ${PWD}:/wiki ghcr.io/<username>/sre-wiki-kit:latest

5 分钟快速开始

步骤 1:准备 GitHub 仓库

  • 登录 GitHub → 右上角 +New repository
  • 仓库名填 <你的用户名>.github.io(必须这样填)
  • Public,点 Create

步骤 2:解压 + 装依赖

方式 A:直接装 Python(推荐)

# 解压压缩包
unzip sre-wiki-kit.zip
cd sre-wiki-kit

# 装一个依赖(YAML 解析)
pip install pyyaml

方式 B:不想装 Python?用 Docker

# 1. 安装 Docker Desktop(一次性,30MB)
#    https://www.docker.com/products/docker-desktop/

# 2. 构建镜像(首次 1-2 分钟)
docker build -t sre-wiki-kit .

# 3. 跑起来(交互式问答)
docker run -it --rm -v ${PWD}:/wiki sre-wiki-kit

# 或者用 docker-compose(更简单)
docker compose run --rm sre-wiki-kit

PowerShell 用户把 ${PWD} 换成绝对路径,比如 C:\Users\xxx\Desktop\sre-wiki-kit

步骤 3:跑脚本

方式 A:交互式(推荐新手)

python init.py

脚本会一题一题问你,照着填就行。

方式 B:改配置文件

# 1. 复制示例配置
cp examples/site.yaml site.yaml

# 2. 用记事本/VSCode 改 site.yaml
# 3. 跑脚本
python init.py --config site.yaml

步骤 4:去 GitHub 开 Pages

  • 仓库 → SettingsPages
  • Source 选 Deploy from a branch
  • Branch 选 gh-pages,目录 / (root)
  • Save,等 1-2 分钟

访问 https://<你的用户名>.github.io 就能看到博客了 🎉

项目结构

sre-wiki-kit/
├── init.py                  # 一键脚本(核心)
├── new_post.py              # 新增文章脚本
├── Dockerfile               # Docker 镜像构建
├── docker-compose.yml       # Compose 配置
├── .github/workflows/       # GitHub Actions
│   ├── docker-publish.yml   # 自动构建+发布 Docker 镜像
│   └── release.yml          # 推 tag 自动打包 Release
├── README.md                # 完整教程
├── LICENSE                  # MIT 协议
├── requirements.txt
├── examples/
│   ├── site.yaml            # 配置示例
│   └── test-config.yaml
└── templates/
    ├── favicon.svg
    ├── pages/               # HTML 模板
    │   ├── index.html
    │   ├── article.html
    │   ├── about.html
    │   └── 404.html
    └── css/                 # 样式
        ├── article.css
        └── about.css

脚本到底干了啥

  1. 加载配置(YAML 或交互问答)
  2. 渲染 HTML 模板(替换 {{SITE_TITLE}} 之类的占位符)
  3. 生成 SEO 文件(sitemap.xml / robots.txt / .nojekyll)
  4. Git 操作(init → add → commit → push)

常见问题

推送失败,提示 "Permission denied"

GitHub 早就不能用密码推送了,需要 Personal Access Token:

  1. 打开 https://github.com/settings/tokens
  2. Generate new token (classic)
  3. repo 权限,生成后复制 token
  4. 推送时密码栏粘贴这个 token

网站打开是 404

检查仓库 Settings → Pages,Branch 必须选 gh-pages

中文乱码

用 VSCode / Notepad++ 重新保存为 UTF-8 编码。

验证

  • 压缩包 30KB 左右,下载快
  • 解压后目录结构如上
  • python init.py --dry-run 不推送只生成,看效果
  • 修改 site.yaml 重新跑,会自动覆盖旧文件

注意事项

  • Python 3.7+ 必装(推荐 3.9+)
  • Git 必装,第一次推送会问 GitHub 账号密码(用 token)
  • 仓库名必须是 <username>.github.io 才能用个人主页域名
  • 如果只想用 project pages,仓库名随便填,访问地址会变成 <username>.github.io/<repo>

开发者:自动化发布

项目自带两个 GitHub Actions 工作流,在 .github/workflows/ 目录:

  • docker-publish.yml — 推 tag 自动构建 Docker 镜像并发布到 ghcr.io
  • release.yml — 推 tag 自动打包 zip + 创建 GitHub Release

整个流程要做的就是三步:

前置:把项目推到 GitHub

cd sre-wiki-kit
git init
git add -A
git commit -m "init: bootstrap sre-wiki-kit"
git branch -M main
git remote add origin https://github.com/<你的用户名>/sre-wiki-kit.git
git push -u origin main

步骤 1:开 Actions 写权限

让 Actions 能推 Docker 镜像到 GHCR:

  1. 打开仓库 → 顶部 Settings
  2. 左边栏找到 ActionsGeneral
  3. 滚到最下面 Workflow permissions
  4. Read and write permissions
  5. Save
如果只选默认的 "Read repository contents and packages permissions",Actions 推 GHCR 时会报 403 权限不足。

步骤 2:把 Package 公开

默认 Package 是 Private,同学拉不到镜像。改成 Public:

  1. 仓库主页右边栏 Packages(或在 https://github.com/<用户名>?tab=packages)
  2. sre-wiki-kit 这个 package
  3. 右边 Package settings
  4. 最下面 Danger ZoneChange package visibility
  5. Public,输入确认,保存
公开后镜像地址:ghcr.io/<你的用户名>/sre-wiki-kit

步骤 3:推个 tag 触发自动发布

# 1. 打 tag(推荐语义化版本)
git tag v0.1.0

# 2. 推 tag 到 GitHub
git push origin v0.1.0

推送后两件事会自动发生:

  1. GitHub Actions 开始构建 Docker 镜像 → 几分钟后发布到 GHCR
  2. 自动创建 GitHub Release,附带 sre-wiki-kit.zip 下载

查看结果

同学怎么用你的镜像

# 拉你的镜像
docker pull ghcr.io/<你的用户名>/sre-wiki-kit:latest

# 跑起来(不用 build、Python、git,全都不用)
docker run -it --rm -v ${PWD}:/wiki ghcr.io/<你的用户名>/sre-wiki-kit:latest

支持的镜像 tag

  • latest — main 分支最新
  • v0.1.0 — 精确版本
  • v0.1 — minor 版本
  • v0 — major 版本
  • main-abc1234 — 特定 commit

多架构支持:linux/amd64(Intel/AMD)+ linux/arm64(Apple Silicon)。

常见问题

Actions 跑失败,提示 "403 Forbidden"

检查步骤 1(Workflow permissions)有没有设成 Read and write。

同学 pull 镜像提示 "denied: requested access to the resource is denied"

检查步骤 2(Package visibility)是不是 Public。

Actions 跑失败,提示 "no space left on device"

GitHub 缓存满了,去 Actions → 任意 workflow → 右上角 Clear caches