总述
经过了一段时间的探索和比较,最终使用了 Hugo + Github Actions + Github Pages 的方式来尝试搭建个人页面,同时选择了两个仓库(一个私有仓库用来存放源文件,一个公开仓库用来存放编译后的静态文件)的方式来完成这个过程。
最终达到效果:
- 有一个私有仓库存放 Hugo 项目及内容,多台电脑可以通过 git 实现该仓库的同步,满足(可能存在的)多台电脑编辑内容的需求。
- 有一个公开仓库存放 Hugo 项目编译后的静态文件,可以通过 Github Pages 访问,这个即为最终的个人页面。
- 私有仓库的每一次提交(push),触发 Github Actions 进行自动编译并推送到公开仓库,实现自动编译和自动部署。
总体上还是比较满意这个效果的,基本上也能满足个人站点的需求。
搭建过程
创建仓库
创建两个仓库,一个私有仓库用来存放 Hugo 项目及内容,一个公开仓库用来存放编译后的静态文件。
前者仓库名称随意,后者名称固定为 <用户名>.github.io
。
创建 Hugo 项目
此处省略安装 Hugo 的步骤,安装参考官方文档或网络上的教程。
|
|
访问 http://localhost:1313
,即可看到 Hugo 项目的默认页面。
逐句解释:
hugo new site <项目名>
:创建一个名为<项目名>
的 Hugo 项目。cd <项目名>
:进入项目目录。git init
:初始化 Git 仓库。git submodule add https://github.com/themes-hugo/hugo-theme-learn.git themes/learn
:添加主题。echo 'theme = "learn"' >> config.toml
:配置主题。hugo server
:启动 Hugo 服务器,并自动编译项目。
其中 hugo 相关的命令可以参考 Hugo 官方文档。Hugo 主题可以参考 Hugo 官方主题列表 选取自己喜欢的主题进行安装或者直接在 GitHub 上以’hugo+theme’为主题搜索。主题的 GitHub 地址内一般都会有主题的安装、使用说明。
个人建议使用一些 star 较多、更新时间较新、说明比较详细的主题。
一方面因为 Hugo 更新的原因,一些比较旧的主题内的说明可能不再适用,如:实际上 Hugo 的配置文件已经变化,现在默认的配置文件名称为hugo.yaml
,而许多较旧的主题的说明中配置文件名称仍然为config.toml
。
另一方面 Hugo 的自定义配置内容除一些通用的配置(在 Hugo 官方文档内)外,基本都是依赖于主题的自定义配置,主题的文档详细程度决定了在后续调整过程中的难度。
创建 Github Actions
这里省略将上述 Hugo 项目通过 git 上传到私有仓库的步骤。
WARN:
由于时间比较久,部分配置过程的环节可能有所遗漏,后续如果我想起来或者我按自己这篇文档都走不通
(那还写个屁啊!)的时候会再补充。
在私有仓库的 .github/workflows
目录下创建一个名为 deploy.yml
的文件,内容可参考如下:
|
|
PERSONAL_TOKEN 为 Github 个人令牌,可以在 Github 个人设置中创建,该 TOKEN 需要有 repo 和 workflow 权限。username 为 Github 用户名。
完成以上步骤后,提交一次推送到私有仓库或手动触发一次 Github Actions ,即可自动触发编译并推送到公开仓库。然后访问 https://username.github.io
即可访问编译后的静态文件。
其他内容如当前页面使用的主题的部分自定义项、更换页面字体等后续闲(mō)下(yú)来(dē)的(shí)话(hòu)再补充。