方案制定
-
使用
hugo(笔者使用的是v0.126.1)进行构建 -
使用
PaperMod主题,前言提到的基本需求都能满足 -
因为
hugo是命令行工具,所以使用Linux系统或Win10+的wsl比较方便 -
使用
Github Pages,服务器和域名问题就一并解决了,不过代价就是访问速度一言难尽。 -
使用两个仓库,一个公开仓库用于部署页面,一个私有仓库用于管理源码(内容)
工具准备
安装Git
用于源码(内容、配置)管理,也用于向Githug仓库进行推送。Git的安装、配置请自行解决。
安装hugo
打开hugo的下载地址(自行解决科学上网),注意正确选择对应自己操作系统和架构的版本。由于使用的是PaperMod主题,基础版就够了。当然,下载扩展版也没问题,只是听说好像需要go环境,没有验证过。
下载之后解压,只需要一个可执行的hugo即可。
|
|
为了方便使用,可以把hugo放到一个已有的默认搜索路径中,也可以把hugo所在的路径加入环境变量。
在Linux环境下,运行hugo completion -h查看如何为hugo添加自动完成功能。
仓库准备
Github
无Github账号的,自行申请一个。
目标仓库
目标仓库即将来用于部署页面的仓库,新建名为xxx.github.io的仓库(xxx为用户名),仓库更新后会自动部署,直接访问https://xxx.github.io即可。如果想部署第二或更多的仓库,那就只能新建普通仓库,手动开启Github Pages,通过https://xxx.github.io/yyy(xxx为用户名,yyy为仓库名)访问。
源码仓库
源码仓库即将来用于管理*.md的仓库,新建一个普通私有仓库即可,例如名为blog-src。
本地仓库
- 克隆源码仓库
|
|
- 添加
.gitignore
|
|
- 克隆目标仓库
|
|
- 添加部署脚本
新建文本文件pushpage.sh,并赋予执行权限,然后写入以下内容
|
|
以后在本地测试没问题后,可直接运行该脚本,实现一键部署。
项目准备
- 初始化项目
|
|
生成的默认内容如下:
|
|
- 添加主题仓库
|
|
- 将
hugo.toml重命名为config.yml,并改为以下内容
|
|
- 修改
archetypes下的default.md,改为以下内容
|
|
至此,准备工作就差不多了,运行hugo server -D,然后就可以访问http://localhost:1313/查看效果了,当然,看到的页面几乎没什么内容,因为还没添加内容,更没进行更细致的配置。