终于初步完成了从Typecho到Hugo的网站迁移
整体历程 2011年2月2日,本站启用并使用WordPress; 2021年7月29日,从WordPress迁移至Typecho; 2025年10月16日,终于正式把域名指向到了Hugo生成的静态页面。 主要过程 因为涉及到html转markdown,使用自动化的转换工具带了一些排版混乱、不合理的转义等等,本来想仿照有些博主,写个脚本自动优化,但随后又转念一想,还是都过一遍吧,于是在工作中见缝插针,以及下班后沉浸到半夜,持续两天枯燥的html转markdown的过程。 虽然当时WordPress转Typecho时已进行了一些格式上的适配,但这次回过头看,问题特别多。 因此还是启用了21年转Typecho时wordpress的备份,好在迁移到Typecho,并没有写过几篇文章,迁移到Typecho以后的文章手动添加就好了。 静态博客生成工具的确定 决定采用静态博客的目的,还是想学习现在的博客主流模式,让更多的注意力在写作本身上面,摆脱臃肿的博客程序,虽说typecho已经非常轻量了,但可能是使用主题的问题,总会有遇到各种各样的使用问题,自身也没有精力去学着去写一个精简的主题,另外静态博客可以很方便的托管到一些GitHub等这样的一些开源平台上,不用再受制于服务器等这些问题。 目前,整个的服务器都已迁移到家庭的nas里,通过购买阿里云的轻量云服务器仅用来内网穿透+反向代理使用,整体成本很低。 除了个人博客这个站点以外的其他网站应用或服务应用还得依托于家里的服务器。 经过浏览了多个业内大佬的网站之后,发现Hugo的覆盖率还挺高,另外Hugo官网的一些主题也都是偏简洁的风格,在B站看了Hugo的实现原理及教程,也很容易上手,因此确定了Hugo作为生成工具。 Hugo模板的确定 最终在官网上对比了几个比较主流的模板之后,最终目光还是集中在了一个比较简洁的一个主题: Hugo blog awesome 。 决定开始使用这个主题是在10月11日,截至写这篇文章已经调试使用了5天时间,目前整体使用起来没有大的问题,但还是有一些自己不满意且比较棘手的问题。不知道后续会不会再换模板,目前先这样用着。 字体 在原有模板的基础上应用了思源宋体,并通过 cn-font-split 实现了字体切割,实现网页字体的快速加载。 分页功能 另外想通过hugo自带的分页功能实现文章列表的分页,但尝试很多种方法,并借助deepseek都没有办法实现。因此最终通过了JavaScript脚本实现了分页功能,这个看后续有没有更好的解决办法。 已解决分页问题,详见文章: 解决 Hugo 分页器返回空页面的诡异问题:.Paginate 不能被多次调用 。 全文搜索 静态博客如果想实现全文搜索,方法也比较多,我采用了比较成熟的工具: Pagefind 。 代码高亮的自动转换 默认hugo自带的代码高亮功能,一般只能设置一个样式,固定下来之后,不管主题是白色还是黑色,都是统一的一个代码高亮样式,为了实现白色/黑色主题切换时代码高亮主题也自动进行更换,通过脚本实现不同主题下不同的代码高亮方案。 识别外部链接自动启用新窗口打开 通过在layouts/_default/_markup/目录下创建render-link.html文件,并写入代码: {{ $url := urls.Parse .Destination }} {{ $isExternal := eq $url.Scheme "http" "https" }} <a href="{{ .Destination | safeURL }}" {{ if $isExternal }}target="_blank" rel="noopener noreferrer"{{ end }} {{ with .Title }}title="{{ . }}"{{ end }}> {{ .Text | safeHTML }} </a> 剩余 3 行代码 展开剩余代码 实现自动识别非本站链接采用新窗口打开的功能。
以上内容来自博客订阅源,版权归原作者。关注作者后可以在 关注列表 第一时间查看作者文章。
登录后,加入这场讨论。
登录参与