前言
GitHub Pages是GitHub提供的静态网站托管服务,可以免费托管个人博客、项目文档等静态网站。本文记录如何从零开始搭建一个基于Hugo + GitHub Pages的个人博客。
准备工作
必需工具
- Git
- Hugo(静态网站生成器)
- GitHub账号
- 代码编辑器(如VS Code)
环境安装
安装Hugo
|
|
验证安装
|
|
创建GitHub仓库
1. 创建源码仓库
在GitHub上创建一个新仓库用于存放博客源码:
- 仓库名:
blog(或其他名称) - 设为Public
- 添加README.md
2. 创建GitHub Pages仓库
创建另一个仓库用于托管生成的静态网站:
- 仓库名:
username.github.io(username替换为你的GitHub用户名) - 设为Public
本地博客搭建
1. 初始化Hugo站点
|
|
2. 选择并安装主题
这里以MemE主题为例:
|
|
3. 配置站点
编辑 config.toml 文件:
|
|
4. 创建第一篇文章
|
|
编辑文章内容:
|
|
5. 本地预览
|
|
访问 http://localhost:1313 预览效果。
部署到GitHub Pages
方法一:GitHub Actions自动部署(推荐)
1. 创建GitHub Actions工作流
在博客源码仓库中创建 .github/workflows/deploy.yml:
|
|
2. 配置Personal Access Token
- 在GitHub Settings > Developer settings > Personal access tokens生成token
- 在源码仓库的Settings > Secrets中添加
PERSONAL_TOKEN
3. 推送代码
|
|
方法二:手动部署
1. 生成静态文件
|
|
2. 推送到GitHub Pages仓库
|
|
配置自定义域名(可选)
1. 添加CNAME文件
在GitHub Pages仓库根目录创建CNAME文件:
yourdomain.com
2. 配置DNS
在域名服务商处添加CNAME记录:
CNAME www username.github.io
3. 启用HTTPS
在GitHub Pages仓库Settings > Pages中勾选"Enforce HTTPS"。
常用操作
创建新文章
|
|
本地预览
|
|
生成静态文件
|
|
更新主题
|
|
文件结构说明
blog/
├── archetypes/ # 文章模板
├── content/ # 文章内容
│ ├── posts/ # 博客文章
│ └── about.md # 关于页面
├── data/ # 数据文件
├── layouts/ # 布局模板
├── static/ # 静态资源
├── themes/ # 主题
├── config.toml # 配置文件
└── public/ # 生成的静态文件
常见问题
1. 子模块问题
如果主题没有正确加载:
|
|
2. 部署失败
检查:
- Personal token权限
- 仓库名是否正确
- 配置文件语法
3. 样式丢失
确认:
- baseURL配置正确
- 主题文件完整
- 静态资源路径
优化建议
1. SEO优化
- 设置合适的title和description
- 添加sitemap
- 配置robots.txt
2. 性能优化
- 启用minify
- 压缩图片
- 使用CDN
3. 内容管理
- 建立文章分类体系
- 添加标签
- 设置文章模板
总结
通过GitHub Pages + Hugo的组合,我们可以快速搭建一个功能完整、性能优秀的静态博客。主要优势:
- 免费:GitHub Pages免费托管
- 快速:静态网站加载速度快
- 安全:没有数据库,安全性高
- 灵活:支持自定义域名和主题
- 版本控制:基于Git的版本管理
只要掌握基本的Git操作和Markdown语法,就能轻松维护自己的博客。
参考资料: