零基础打造云端写作系统:GitHub+Hexo自动化博客指南

零基础打造云端写作系统:GitHub+Hexo自动化博客指南
Wayne前言:为什么选择这套方案?
目前主流的博客搭建方案主要有三种:
1. 使用博客平台(如博客园、CSDN)
- ✅ 优点:操作简单,零成本,只需专注写作
- ❌ 缺点:个性化程度低,内容难以迁移
2. 自建云服务器博客
- ✅ 优点:完全掌控,高度定制化
- ❌ 缺点:成本高,技术门槛高
3. GitHub Pages + Hexo + GitHub Actions(推荐方案)
- 💡 完美平衡:低成本、易操作、支持深度定制
- ✨ 额外优势:自动化部署、版本控制、开源生态支持
接下来我将详细介绍这套兼顾效率与自由的博客解决方案。
Windows 环境准备
只需安装以下 3 个必备工具(附官方下载链接):
Node.js
📥 官网下载 | 参考安装教程 |(按照自己的机器选择对应的版本下载,推荐 LTS 版本)
🔍 验证是否安装成功:node -v
和npm -v
Git
📥 官网下载 | 参考安装教程 |安装时勾选 “Add to PATH”
🔍 验证是否安装成功:git --version
VS Code (可选但推荐)
📥 官网下载
✨ 插件建议:- Chinese (Simplified) (简体中文) // 将VSCode操作界面由默认的英文改为简体中文
- Git Graph // 用于可视化 Git 仓库的分支、提交记录和操作历史
- Hexo Utils // 方便在VSCode中预览文章
Hexo博客双仓库管理方案
很多教程只教你怎么把 Hexo 博客部署到线上,但很少有人提醒你:源码丢了怎么办?
你辛辛苦苦写的文章、调好的主题、折腾的配置,全都存在本地电脑上。
常见方案的坑
- 💻源码全在本地: 电脑坏了=博客凉了
- ⏳无版本管理:改错配置?只能靠记忆回滚
- 🔄环境难迁移:换设备得重新配 Node.js、Hexo、主题依赖…
双仓库方案
- 私有仓库存源码(blog-source)
- 所有文章(
source/_posts
)、主题、配置(_config.yml
) - 用 Git 记录每一次修改,随时回退历史版本
- 隐私保护:敏感配置(API Key、草稿)不放公开仓库
- 所有文章(
- 公开仓库存网页(
username.github.io
)- 只推送
hexo g
生成的静态文件(public
文件夹) - 自动部署到线上,不影响源码安全
- 只推送
- 你只需要专注创作内容,其他所有技术流程都交给自动化系统完成:
博客部署指南
1. Hexo初始化
- 安装Hexo全局脚手架
1 | npm install -g hexo-cli |
- 创建博客项目,并切换到对应目录
1 | hexo init blog && cd blog |
可以看到,已经有相应的文件生成了
- 安装依赖
1 | npm install #速度慢可换淘宝源 |
- 生成本地网页
1 | hexo cl && hexo g && hexo s |
网页已在本地生成成功。
若要让其他人也能访问,需要将网页文件部署到GitHub Pages。
以下是详细部署步骤:
2.GitHub仓库准备
- 一共需要两个仓库,私有仓库存放博客源码,公开仓库存放博客网页文件。
仓库名 | 存放内容 | 权限 | 作用 |
---|---|---|---|
blog-source | 源码/主题/配置 | 私有 | 版本控制+环境备份 |
username.github.io | 生成的HTML文件 | 公开 | 网页托管 |
接下来详细演示两个仓库的创建和配置过程。
创建私有仓库
- 仓库创建成功,暂时没有任何内容,红框中是仓库地址,
为私有仓库添加token
- 找到github的settings
- 找到developer settings
- 创建新的token
- 选择classic
- 配置token的信息
- 点击创建token
- token生成了,复制token信息
接下来把复制好的token添加到私有仓库(blog-source)中
- 进入blog-source的settings
- 找到私有仓库Secrets and variables的Actions
- 创建新的仓库秘钥
- 粘贴刚刚复制好的token
- 点击
Add secret
创建公开仓库
- 公开仓库就创建好了
3.设置自动化部署
创建GitHub Actions工作流
在项目根目录创建.github/workflows/deploy.yml
文件内容如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46name: Automated Hexo Deployment
on:
push:
branches: [ main ] # 主分支推送触发
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
submodules: false
- name: Setup Node.js
uses: actions/setup-node@v2
with:
node-version: '18'
- name: Install dependencies
run: |
npm install
npm install hexo-deployer-git --save
npm install hexo-cli -g
- name: Build project
run: |
hexo clean
hexo generate
- name: Configure Git
run: |
git config --global user.name 'github-actions[bot]'
git config --global user.email 'github-actions[bot]@users.noreply.github.com'
- name: Deploy to GitHub
env:
GH_TOKEN: ${{ secrets.GH_TOKEN }}
run: |
cd public/
git init
git add -A
git commit -m "Auto-deploy via GitHub Actions"
git remote add origin https://${{ secrets.GH_TOKEN }}@github.com/<你的GitHub用户名>/<你的GitHub用户名>.github.io.git
git push origin HEAD:main -f**修改
_config.yml
**文件
1 | #【注意】 |
4. 推送代码到仓库
- 本地 Git 仓库的初始化并建立第一个版本
1 | git init |
- 将本地 Git 仓库关联到远程仓库,并首次推送代码
1 | git remote add origin https://github.com/hzwi/blog-source.git |
- 【注意】如果你的电脑以前没有配置过github的任何信息,直接这样操作可能会碰到报错
5. 问题与解决
- 生成 SSH 密钥
打开 Git Bash,按下面的格式输入信息
1 | ssh-keygen -t ed25519 -C "[email protected]" |
碰到提示信息,按Enter键即可
添加 SSH 密钥到 GitHub
- 复制密钥
生成的秘钥文件默认在 C:\Users\你的用户名\.ssh\id_ed25519.pub
,打开并复制内容
- 在 GitHub 上添加 SSH 密钥
进入 GitHub → Settings → SSH and GPG Keys
- 点击
New SSH key
,粘贴密钥内容
- 提示输入密码
密钥添加完成
改成ssh的方式,再次尝试推送代码
1 | git remote set-url origin [email protected]:hzwi/blog-source.git |
这次就可以成功了,可以看到私有仓库里有代码了。
私有仓库的Actions里会自动运行,并把网页文件部署到指定的公开仓库
等待一会儿,公开仓库也有网页文件了
新建博客文章
- 新建一篇名为
test
的文章
1 | hexo new test |
- 利用
VSCode
和Hexo Utils插件
编辑和查看文章内容
- 这次使用
Git Graph
提交
- 访问
https://hzwi.github.io/
,可以看到博客自动更新了
结语
恭喜!至此你已经拥有:
- ✅ 完全免费的个人博客
- 🔄 多端同步的写作环境
- 🚀 自动化的部署流程
- 💾 双重保险的数据存储