鉴于本人三天打鱼两天晒网的习性,下次更新博客已不知是猴年马月 ,特在此记录本博客的维护方式,以便于日后的维护工作。
概述
本博客同时发布于本人的 Github Page 与 个人服务器 上,分别通过 ifarewell.github.io 的master与server分支进行维护。实际上,该任务可通过将其中一方重定向至另一方完成。但为了练习 Git 中的分支管理相关功能,我决定以此稍显复杂的方式进行。
本博客采用 Hugo 与其中的 Anatole 主题进行构建。前述两个 Git 分支的区别主要在于,使用 hugo 进行页面生成时,配置文件 config.toml
中 baseURL
需设定为博客地址,这将使得所生成页面文件夹 public
中多个文件的内容存在差异。
文章创建
在博客项目的根目录下,使用 hugo 创建新文章。
hugo new content/zh-cn/post/filename.md
调用该指令,hugo 将会依据根目录下 archetypes/default.md
生成新文章模板,其中包括标题、发布时间、文章描述、文章标签等信息。
效果测试
文章创建完毕后,在项目根目录中使用 hugo server 进行页面效果测试。
hugo server -D
通过该指令,可以在 http://localhost:1313 中查看网页效果,并且可以将本地文章的修改实时渲染出来。
页面生成
在文章编写完毕之后,在博客项目根目录下,使用 hugo 生成页面至 public
文件夹中。
hugo --config configFilename1.toml, configFilename2.toml
该指令会在根目录下寻找给定的配置文件并依据这些文件进行页面生成。在不显式给定配置文件时,hugo 默认依据配置文件 config.toml
或配置文件夹 config/_default
下所有配置文件来进行页面生成(依据调试经验,前者优先级似乎高于后者)。
值得注意的是,本地调试过程中,配置文件 config.toml
中 baseURL
的设定对结果似乎无影响。但在部署至 Github Page 或个人服务器上之前, 需要将其设定为实际页面的地址再进行生成。
页面部署
页面生成后,进入 public
文件夹,使用 Git 将该文件夹同步至 Github 上。
# 首次提交前需要进行文件夹初始化
git init
# 为 Git 本地库添加远程库
git remote add origin git@github.com:ifarewell/ifarewell.github.io.git
# 查看当前版本状态
git status
# 添加所有修改过的文件
git add .
# 将修改提交至本地库,可选择附上提交信息
git commit -m "commit message"
# 将修改同步至远程库
git push -u origin master/server
个人服务器部署
经过前述过程,新生成的页面已提交至Github 上,通过 Github Page 已经可以成功访问更新后的页面。但个人服务器还需要多一步,即将 server 分支拉取至服务器上。
git pull origin server:master
此处master是服务器本地的分支名称,需要注意与远端的master分支相区别。
至此,一篇新文章成功被创建——编写——部署至本人的 Github Page 与 个人服务器 上。希望这篇文章对想要基于 hugo 进行个人博客编写的读者有所帮助,也希望本人能够勤快、熟练地更博,尽量少参考这篇备用博文🤪🤪。
最后修改于 2021-07-01