Hugo重新部署—本地覆盖远程仓库
目录
写在前面
使用过一段时间Hugo后,了解到直接修改主题源码是不好的习惯,不方面后续主题的更换或持续升级等操作
由于根目录的优先级高于themes/THEME/…,正确的做法应该是当有需要修改或新增的代码时,在根路径下创建相同结构的文件来覆盖,而不是直接修改主题源码
例如要修改themes/LoveIt/layouts/partials/footer.html时,就在layouts/partials/下新建footer.html文件来覆盖theme下的配置
刚使用Hugo搭建博客时,跟着教程逐步完成的,根路径和主题目录中被我修改的面目全非,新增的样式文件也是随意乱放。为了后续更好的使用,需要重新构建部署
构思
整个结构是比较混乱的。目的只是将博客的配置文件重新覆盖再修改,网站内容保持不变
-
保留
content和static两个目录的文件 -
archetypes/default.md有文章的前值参数 -
layouts中有修改和新增的文件 -
assets中有新增样式文件 -
theme/LoveIt/...这里面就多了,还好自己修改源码时不忘添加备注…
-
new site后对比旧的站点文件挨个修改 -
删改后再覆盖远程仓库,由于是部署在
Netlify上的,尽量不对其产生影响
重新部署
内心是比较忐忑的,没查到相关的贴子,担心这个笨方法出现点差错,博客算是栽手里又要重新搭建部署。还好成功了!
以下为具体步骤
新建站点
|
|
删改
把LoveIt下的exampleSite中的文件直接到复制到根目录下,然后将config.toml、layouts等文件对照着旧的配置进行修改和替换,并把content/posts/下的自带文章删掉
theme目录下的文件就不再变动了
这是一项麻烦的工作,需要细心地逐个查找既往配置文件是否有改动…
覆盖远程仓库
- 首先将远程仓库克隆一份进行备份
- 将本地仓库(旧)中除了
.git文件夹,其他全部删除 - 将本地仓库(新)中除了
.git文件夹,全部复制到旧仓库 git add .git commit -m "新的覆盖旧的"git push
这样可以实现覆盖,或者说是合并,但不是个专业的方案
v1.5.0