Featured image of post 博客构建记录

博客构建记录

博客创建:

  采用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操作。具体步骤如下:

  1. 登录 GitHub,点击右上角头像 → Settings
  2. 进入开发者设置:左侧导航最底部 → Developer settings
  3. 选择 Personal access tokens → Tokens (classic)
  4. 生成新令牌:点击 Generate new token → Generate new token (classic)
  5. 填写信息:
    • Note:给令牌起个名字,比如 “git-push”
    • Expiration:选择有效期(建议 30/90 天,也可以选 No expiration)
    • Select scopes:勾选 repo(完整仓库控制权限,包含 push/pull)
    • 点击底部的 Generate token -立即复制令牌(页面关闭后就无法再看到)。

访问令牌设置 访问令牌设置

  1. 复制令牌后,在 Git 操作中这样配置:
1
2
# 方式一:配置为远程仓库的认证信息
git remote set-url origin https://<your-username>:<your-token>@github.com/ukyozhou/blog.git

博客相关仓库的创建:

  假设你的Github用户名是xyz,那么你的仓库可以创建成为一下两种(必须是public仓库):

  1. xyz/xyz.github.io。这种方式下,你的博客访问域名就是xyz.github.io,不会带字路径。
  2. xyz/myblog。这种方式下,你的博客访问域名是xyz.github.io/myblog,会带有子路径。这对于后面如果想用其他的域名映射这个博客域名来说,会多一些操作步骤。

  Github仓库创建后,可以用如下命令初始化本地博客目录下的public子目录并上传Github仓库:

1
2
3
4
5
6
7
#进入public子目录
git init
git add .
git commit -m "my submit"
git branch -M main
git remote set-url origin https://yourname:yourtoken@github.com/yourname/yourrpo.git
git push -u origin main

注意: 如果修改了博客内容并重新创建了整个public子目录的话,那么最后一步的push会报错(因为整个目录重新生成了,和远程仓库不一致)。这时候需要想执行一下pull命令拉取下远程仓库的内容,然后再push。

1
git pull origin main --rebase

  Github pages设置: 进入Github仓库后,做如下设定:

  1. Settings -> pages
  2. Branch -> main 等待几分钟,直到看见你的博客域名显示在Githug Pages里面。如果访问没问题,那么博客就算创建成功了。

Pages设置

Cloudflare设置:

  很多人有自己的域名,想把博客挂到自己的域名下而不是使用Github的域名。这种情况下,需要在Cloudflare中添加一条cname记录,把你的域名绑定到xyz.github.io上面(假设你的用户名是xyz)。注意Cloudflare中只能绑定主机名.域名,无法绑定下面的路径名。所以这里分两种情况:

  1. 如果你在Github上建立的仓库名就是xyz.github.io,那么你之前访问你的博客的url也就是这个。这样的话Cloudflare这边设置好了就可以了。
  2. 如果你在github上建立的仓库名是blog,那么你之前访问你的博客的url会是xyz.github.io/blog。这种带路径的绑定,除了在Cloudflare中设置外,还需要在Github上做如下设置:
    • 进入你的仓库,点击settings -> pages,
    • 然后在Custom domain里面添加你在Cloudflare中绑定的域名 ,点击save。并确保https已经勾选。
  3. 无论那种情况,设置完成后记得修改hugo.yaml中的baseurl指向正确的地址(注意是https)。

Custom Domain设置

Built with Hugo
Theme Stack designed by Jimmy