博客创建:
采用hugo+stack。创建主要是参考了B站莱特雷的视频。链接如下。
特别要注意的是,该视频发布于2024年。如今hugo和stack的版本均有较大的升级。但是要想顺利搭建,建议还是使用和视频里相同的版本。虽然老了点,但是对于搭建简单博客来说完全没问题。如果要采用最新的版本,那么在搭建过程中可能会出现一些小问题,需要自己去研究了。
hugo的博客内容完全在其子目录下public下。Github仓库可以创建在这个目录下。首次上传博客至Github前,可以先删除整个public目录,然后使用hugo -D命令来重建public目录。以后每次更新博客就不需要这么做了。另外hugo.yaml文件在博客域名确定后,里面的baseurl的值必须改成正确的博客域名。
Github部署:
本博客是部署在github上的。首先要注意,GitHub 已于2021年8月13日起停止支持密码认证,必须使用个人访问令牌(PAT)代替密码进行HTTPS Git操作。具体步骤如下:
- 登录 GitHub,点击右上角头像 → Settings
- 进入开发者设置:左侧导航最底部 → Developer settings
- 选择 Personal access tokens → Tokens (classic)
- 生成新令牌:点击 Generate new token → Generate new token (classic)
- 填写信息:
- Note:给令牌起个名字,比如 “git-push”
- Expiration:选择有效期(建议 30/90 天,也可以选 No expiration)
- Select scopes:勾选 repo(完整仓库控制权限,包含 push/pull)
- 点击底部的 Generate token -立即复制令牌(页面关闭后就无法再看到)。

- 复制令牌后,在 Git 操作中这样配置:
|
|
博客相关仓库的创建:
假设你的Github用户名是xyz,那么你的仓库可以创建成为一下两种(必须是public仓库):
- xyz/xyz.github.io。这种方式下,你的博客访问域名就是xyz.github.io,不会带字路径。
- xyz/myblog。这种方式下,你的博客访问域名是xyz.github.io/myblog,会带有子路径。这对于后面如果想用其他的域名映射这个博客域名来说,会多一些操作步骤。
Github仓库创建后,可以用如下命令初始化本地博客目录下的public子目录并上传Github仓库:
|
|
注意: 如果修改了博客内容并重新创建了整个public子目录的话,那么最后一步的push会报错(因为整个目录重新生成了,和远程仓库不一致)。这时候需要想执行一下pull命令拉取下远程仓库的内容,然后再push。
|
|
Github pages设置: 进入Github仓库后,做如下设定:
- Settings -> pages
- Branch -> main 等待几分钟,直到看见你的博客域名显示在Githug Pages里面。如果访问没问题,那么博客就算创建成功了。

Cloudflare设置:
很多人有自己的域名,想把博客挂到自己的域名下而不是使用Github的域名。这种情况下,需要在Cloudflare中添加一条cname记录,把你的域名绑定到xyz.github.io上面(假设你的用户名是xyz)。注意Cloudflare中只能绑定主机名.域名,无法绑定下面的路径名。所以这里分两种情况:
- 如果你在Github上建立的仓库名就是xyz.github.io,那么你之前访问你的博客的url也就是这个。这样的话Cloudflare这边设置好了就可以了。
- 如果你在github上建立的仓库名是blog,那么你之前访问你的博客的url会是xyz.github.io/blog。这种带路径的绑定,除了在Cloudflare中设置外,还需要在Github上做如下设置:
- 进入你的仓库,点击settings -> pages,
- 然后在Custom domain里面添加你在Cloudflare中绑定的域名 ,点击save。并确保https已经勾选。
- 无论那种情况,设置完成后记得修改hugo.yaml中的baseurl指向正确的地址(注意是https)。
