博客从 PHP 7.4 升级到 PHP 8.4 后,有个问题(在上一篇升级汇总的博文中也有记录)是惯用已久的代码高亮插件 Crayon Syntax Highlighter 不能用了。不止它自己不工作了,连累得整个博客都无法正常工作,页面都无法正常展示。在把其它问题都处理过后,可忽略的暂时忽略,能修复的上手修复,再次启复代码高亮功能显然是重要事项,谁让咱怎么也算是个程序员呢。
原本以为这个事情很好处理,结果至少碰壁了一整天。一开始是想着再到 WordPress 的官方插件库里找一个来把它替换掉不就好了吗?谁知道搜出来的插件远没有自己想象中的那么丰富,会挑花眼。而其中相当一部分和 Crayon 一样,年久失修。三年内没有更新过的显然都不在考虑之列。把剩余的几个都试了试,竟然没有一个是可以启用之后就能在现有的页面上直接生效的,真令人无奈。只好重新考虑回 Crayon,需要把它折腾到复活的状态。
它本身的项目在 GitHub 上停滞已达九年,估计已经不可能再得到原作者的回头青睐了。于是去 fork 出的下游库列表中去查看,竟然找到了一个最近还在更新的(不仅代码在更新,维护者还把这个插件改了名字重新上架到了 WordPress,不过刚开始没有注意到)。把代码拉取到本地,一眼看去,和原项目相比已经面目全非。老夫好奇之心顿起,原项目已经非常成熟,这么大的阵仗,到底改了些什么?用 Beyond Compare 进行了一番实地考察,结论是:这位俄罗斯程序员不知出于什么心理,在所有的变更中,90% 以上的工作量都是把原项目的标志性命名前缀 crayon/Crayon/CRAYON 改成了他自己的姓!除此以外,产品相关的作者信息、站点以及项目链接,还有打赏地址,都进行了实质性的替换!实话讲,不太讲究。
老夫一愠之下,决定将实质性的改动提取出来,反向移植到原项目上。经过一天一夜的奋战,今天上午终于基本完成(未作特别周全的测试)。待整理清爽之后,会将结果发布到 GitHub 上。
这样一来,网站功能就恢复完整了。剩下的几个告警信息,徐后图之。
顺便说一句,本文是第一次用 WordPress 的古腾堡编辑器写就,体验不错。这个编辑器推出之初,老夫就曾第一时间试用,可惜遇到了虽已遗忘但在当时绝对是难以接受的问题,不得不采用经典编辑器插件,一直到现在。这下好了,编辑工具也与时俱进了。
