当前位置: 首页 > news >正文

从Hugo到Zola——又一次博客迁移 - liyan

又迁移博客了。回顾下最早的博客是使用Hexo写的,当时工作了两年,希望能通过一种方式对工作中的经验进行整理。Hexo的完成度很高,可以直接在Hexo-Admin中对博客进行撰写,同时实时渲染,查看效果。但是每次在使用时,往往会遇到很多依赖的更新,而且往往会有一些不兼容——可能是本地环境和博文框架的不兼容,或者是依赖升级后的不兼容。厌倦了长久的依赖升级等待以及冲突修复后,我从Hexo迁移到了HugoHugo的完成度同样非常高,直接从网络上使用一个公开的模版即可流畅的启动,自己撰写一个简易的迁移脚本即可完成博文主要内容的迁移。Hugo迁移至Zola的契机是26年的2月12日,提交了一篇博客一种责任链模式的实现,2月24日查看时,发现未更新。确认是deploy.yml执行build时出现失败,解决未果,遂弃之。使用Zola来重新启动。

迁移体验

总体来看尚可,从三个方面来评价迁移体验。就迁移后至今的使用来看,Zola的使用方式和Hugo相比是很接近的,基本上一个指令即可启动。完成度上,仍然是Hexo最好,Hugo次之,Zola看着完成度欠缺。Hexo支持Admin插件来新建、编辑、发布博客;Hugo支持命令行新建一篇博文;Zola则只能手动操作了。另一个重要的特性是使用的可靠性,这个可能更多的是和博客的主题选择有关。本次迁移后使用的是Kita主题,主题较为简洁,具备基础性的功能——对应的是一些功能的缺失,如留言功能和全局搜索功能,这两个功能对我而言都可有可无。

迁移后,博客通过Emacseww仍然能够较为便捷的访问。

迁移过程

依稀记得此前的Hugo迁移过程还是比较顺利的,主要是对此前博文的一些标签的格式转换。本次迁移在大模型的加持下,一些格式转换是非常容易做的。只是主题使用上有一些繁琐。下面记录下我这里的过程,希望能够提供一些参考。

  1. 主题设置
    拷贝一份目标主题的博客,这样就能够省去很多参数的配置的工作。本人这里拷贝的是st1020/blog Kita作者本人的博客参数设置。拷贝后主要做content/博文目录的调整和static/目录下各种icon的调整。
  • 拷贝后保留content/目录下的_index.mdpages/,目录下的其他博文内容删除。调整config.toml中的博文说明内容、博客首页栏目内容,调整content/pages/about.md中的个人介绍。
  • 将此前Hugo主题下的行走icon拷贝到了static目录下,通过大模型来对目录下原有icon进行替换。

这样一来,主题设置初步完成。

  1. 博文迁移
    将旧博文中的文档迁移到新博文目录的content/目录下。Hugo中也是在content/目录,我这里是直接进行的拷贝。拷贝后需要对如下内容进行调整:
  • 博文中的前置变量。此前我的博文前置变量使用的是Yaml格式,这次迁移使用大模型全部转换为了Toml格式。categoriestags需要放置在[taxonomies]配置下。
  • 博文目录文档名。Zola上实践较好的是content/{{blog-name}}/index.md。此前Hugo中的博文对于博文的文档名没有过多的限制,而Zola上默认是识别index.md/_index.md。从实践中看,将旧的博文文档都调整成content/{{blog-name}}/index.md效果较好。
  • 处理图片。此前Hugo中将图片均放置在public/目录下。本次迁移将public/下的图片均放置到博文目录中,便于管理。这一步也由大模型进行处理。

上述内容设置完成后,在本地是可以直接启动并且预览的。如果都没有问题,即可以发起迁移。

  • 基于旧博文的主分支克隆一个备份的分支。做个备份,留个念想。
  • 使用新博文的文件覆盖博文主分支的文件。由于本人在github上创建了Action,会触发博文内容的编译,因此public/目录中的内容对我而言是不需要的。这里覆盖后清理了public/下生成的博文页。
  • 更新博文主分支,等待Action执行。这里补充一些细节,我的博文主分支是master,在github个人页上配置的博文分支是gh-pages。我这里的更新指的是更新master分支。更新后,github会依据master分支中的.github/workflows/deploy.yml配置的Actionmaster上的内容触发zola build,并将master分支中的public/更新到gh-pages分支,从而完成对博文的更新。这样一来,master分支即可无需保存诸多的编译产物,保持master分支的简洁。

本次迁移相比Hexo迁移到Hugo,迁移的诉求更加明确——只希望能够尽可能稳定的保留博客的基础功能,尽可能多的去除额外的可能会带来维护成本的功能。本次迁移由于大量的使用了大模型,因此很多的程序性工作完成的都很顺利。确实是大模型的时代了。

以上,新春愉快~

http://www.jsqmd.com/news/481958/

相关文章:

  • C盘清理,C盘变红解决方法最全指南(2026最新版),轻松解决C盘爆满问题,c盘怎么清理垃圾而不误删文件
  • 2026年电商直播带货主播财税合规指南:如何一站式解决主播与店铺的三大财税难题? - 企业推荐官【官方】
  • 2026年主播带货电商财税合规避坑指南:这5大代理记账公司为何口碑领先行业? - 企业推荐官【官方】
  • 实用C盘清理图文教程(2026最新版):安全有效C盘清理清理方法,远离C盘爆红,清理C盘不误删文件
  • 2026年带货直播电商主播财税合规指南:TOP 10一站式服务商如何帮你省心省力? - 企业推荐官【官方】
  • Kairoa 开发者工具箱 v1.1.16 版本:AI 聊天体验全面升级
  • 使用opensandbox结合ADK创建agent并测试沙盒环境
  • 打造 Spring Boot + Vue 的库存管理系统:技术融合与实践
  • 计算机毕业设计 | SpringBoot小米商城 购物管理系统(附源码)
  • 生成式深度学习(四)
  • 全屋定制行业格局解析:2026年大连主流品牌核心竞争力全景对比 - 品牌推荐
  • 计算机毕业设计 | node.js(Express)+vue影院售票商城 电影放映购物系统(附源码+论文)
  • PyTorch DDP分布式训练超快
  • PAT 乙级 1093
  • JAVA-Web端学习1 HTML和CSS格式
  • 2026年高端家装必看:大连全屋定制品牌选型指南与四大核心价值实测 - 品牌推荐
  • 工厂的历史演进:从工业革命到智能时代
  • 2026年用户口碑最佳的贵阳全屋定制推荐:五大品牌真实案例与长期服务对比 - 品牌推荐
  • AI元人文:习性或直觉——在算法时代人类自我修炼的方法论与情境智慧
  • OpenClawd的一个神器技能Skill Creator
  • 动态残差组改进YOLOv26双重注意力机制与残差学习深度融合
  • Trae AI编程工具关闭自动更新图文教程(建议收藏!!!)
  • go排序查找、二维数组
  • LeetCode 379 | 有序矩阵中第K小的元素
  • 全球医疗器械展会代理地域适配指南:各区域优质服务商精准推荐
  • 告别“积木式”构建:RH Claw 实现 OpenClaw AIGC全模态能力一令直达
  • 打开网站显示Warning: json_decode () expects parameter 1 to be string, array given in错误怎么办|已解决
  • 香港启世集团宣布启动核聚变能源研究计划
  • WebVoyager:基于大型多模态模型构建端到端 Web 智能体
  • 问网站后台登录提示“账号或密码错误”,确认信息正确仍无法登录问题|已解决