方案制定
-
使用
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/
查看效果了,当然,看到的页面几乎没什么内容,因为还没添加内容,更没进行更细致的配置。