Typecho升级到1.3,使用Warmpaper主题
继周五迁移图床,周六又把博客翻新了,主要干了两件事:
记录几个主要问题。
CommentToMail失效
原CommentToMail评论通知插件不兼容php8.2,Google发现有网友Mxucc做了php8.x的兼容版,完美解决。
寻找新版程序兼容性问题解决方案时,限制搜索时间是个很好用的技巧,往往能找到新的方案。

博客发布脚本无法更新存量文章
我使用Python脚本通过Metaweblog API发布博客,升级后发现更新存量文章时,会重复创建新文章。
使用Kimi分析Typecho源代码发现,新版Typecho在处理Metaweblog API的editPost方法时,漏掉了prepare()步骤,在var/Widget/XmlRpc.php 400多行的位置,有两处,加上prepare()即可。

Markdown渲染成HTML时自动追加图床前缀
我的博客文章中,图片URL一直使用相对链接,这样迁移图床时,只要换图床前缀URL。周五图床迁移如此顺序,这是原因之一。
Markdown文章解析为HTML时,需要为图片URL拼上图床前缀,我之前的实现方案是直接修改Typecho核心代码(var/Utils/HyperDown.php)。这次,若非核心代码有Bug,我不想直接动核心代码,于是vibe coding了一个CustomRender插件,由插件处理图片URL,并添加figure和figcaption标签。
移植Hexo Warmpaper主题
博客都升级了,干脆干票大的,自己coding一个主题,这种事以前不敢想,现在有vibe coding变的可行了。
从零开始还是有难度,这需要设计和审美。于是我到Hexo和Hugo主题页找了找,看中了finch-xu/hexo-theme-warmpaper主题。然后扔给Kimi,让它移植到Typecho。初版产出非常快,但涉及不少细节及我的定制需求,也花了好几个小时,最后就是大家现在看到的样子。脑子里仍然有很多想法,以后慢慢整。


以上所有vibe coding,模型使用Kimi,客户端使用yetone的Alma。
结语
Typecho 1.3正式版今年1月就发布了,我看到issue反馈挺多,就没急着升级,但这个事一直躺在我的todo list中,这次终于解决了。
上次升级是2023年,但那次是从Typecho 1.2.0升级到1.2.1,小幅升级没有兼容性问题,没有改主题,对我来说,都不算折腾了。
大概只有2019年从Bitcron迁移到Typecho那次,复杂度能和这次相提并论。转眼,使用Typecho已经7年了。
换了很多国内模型,还是kimi code cli+Moderato最适合折腾博客。
我是充值API,客户端用了Alma,目前使用体验也不错。除了Alma前期的调取记忆的过程,有些慢。
客户端我直接用iterm2,其实终端也行,平时管理vps、云空间也用得着。