定制化的准备工作

准备fork仓库,建立分支

为了避免遗忘,记录定制化的全过程。

以学习笔记为例,时间为 2024/01/16.

安装hugo

node 安装版本:

  • Node.js v20.10.0 to /usr/local/bin/node
  • npm v10.2.3 to /usr/local/bin/npm

hugo 安装版本为:

  • hugo v0.121.1 extended 版本

Fork 仓库

主题仓库:

从官方仓库: https://github.com/HugoBlox/hugo-blox-builder

Fork 为自己的仓库:https://github.com/skyao/hugo-blox-builder

模版:

从官方仓库: https://github.com/HugoBlox/theme-academic-cv

Fork 为自己的仓库:https://github.com/skyao/theme-academic-cv

克隆代码

注意:

  • 一定要确保 fork 后的仓库的 master 分支上是干净的,即不做任何代码修改,只用于从 upsream 仓库拉取最新的代码。

  • 所有自己的代码改动,在自己 fork 的仓库中新建新的branch

clone 仓库代码到本地,

mkdir skyao
cd skyao
git clone git@github.com:skyao/hugo-blox-builder.git
git clone git@github.com:skyao/theme-academic-cv.git

建立分支

然后建立 skyao-io-2024 分支并增加 upstream。

hugo-blox-builder:

cd hugo-blox-builder
git checkout main
git checkout -b skyao-io-2024
git push --set-upstream origin skyao-io-2024

git remote add upstream git@github.com:HugoBlox/hugo-blox-builder.git

git fetch -a

运行

这时候就可以打开 http://localhost:1313/ 访问了。

不过为了使用本地修改之后的主题,还是需要修改一下 go.mod 文件,增加以下内容,将依赖指向本地 hugo-blox-builder 的 fork 仓库:

// replace for develop when forked repo is in local
replace github.com/HugoBlox/hugo-blox-builder/modules/blox-bootstrap/v5 => ../hugo-blox-builder/modules/blox-bootstrap
replace github.com/HugoBlox/hugo-blox-builder/modules/blox-plugin-netlify => ../hugo-blox-builder/modules/blox-plugin-netlify
replace github.com/HugoBlox/hugo-blox-builder/modules/blox-plugin-reveal => ../hugo-blox-builder/modules/blox-plugin-reveal

此时的代码完全是上游的代码,除了将依赖关系修改为本地之外,还没有做任何修改。

提交代码改动,此时准备工作完成。