这是什么
这是基于本博客封装的 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 分钟上线。
下载
不想下载?直接拉 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
- 仓库 → Settings → Pages
- 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
脚本到底干了啥
- 加载配置(YAML 或交互问答)
- 渲染 HTML 模板(替换
{{SITE_TITLE}}之类的占位符) - 生成 SEO 文件(sitemap.xml / robots.txt / .nojekyll)
- Git 操作(init → add → commit → push)
常见问题
推送失败,提示 "Permission denied"
GitHub 早就不能用密码推送了,需要 Personal Access Token:
- 打开 https://github.com/settings/tokens
- 点 Generate new token (classic)
- 勾
repo权限,生成后复制 token - 推送时密码栏粘贴这个 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.iorelease.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:
- 打开仓库 → 顶部 Settings
- 左边栏找到 Actions → General
- 滚到最下面 Workflow permissions
- 选 Read and write permissions
- 点 Save
如果只选默认的 "Read repository contents and packages permissions",Actions 推 GHCR 时会报 403 权限不足。
步骤 2:把 Package 公开
默认 Package 是 Private,同学拉不到镜像。改成 Public:
- 仓库主页右边栏 Packages(或在 https://github.com/<用户名>?tab=packages)
- 点
sre-wiki-kit这个 package - 右边 Package settings
- 最下面 Danger Zone → Change package visibility
- 选 Public,输入确认,保存
公开后镜像地址:ghcr.io/<你的用户名>/sre-wiki-kit
步骤 3:推个 tag 触发自动发布
# 1. 打 tag(推荐语义化版本)
git tag v0.1.0
# 2. 推 tag 到 GitHub
git push origin v0.1.0
推送后两件事会自动发生:
- GitHub Actions 开始构建 Docker 镜像 → 几分钟后发布到 GHCR
- 自动创建 GitHub Release,附带
sre-wiki-kit.zip下载
查看结果
- Actions 日志:仓库 → 顶栏 Actions → 选对应 run
- Release:仓库右边栏 Releases
- 镜像:https://github.com/<用户名>?tab=packages
同学怎么用你的镜像
# 拉你的镜像
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。