# 某种执念

其实这个博客的折腾过程,远比这几行字看起来要心累得多。

如果你看过我之前的记录,可能会知道我为了 ShokaX 这个主题折腾了多久。那种“一眼万年”的设计感确实让人欲罢不能,但它的部署难度也同样让人绝望。在经历了一次又一次的失败后,我一度选择了妥协——转投了 Halo 框架配上 Sakura 主题。不可否认,Halo 很稳,Sakura 也很美,但心里总觉得少了点什么。

就像那个著名的段子:如果你在路上看到一个背影很像你的“前任”,你还是会忍不住停下来多看两眼。对我来说,ShokaX 就是那个让人念念不忘的“前任”。

# 思路的转变:从 Docker 到本地测试

这一次,我决定换个思路。

之前的失败,很大程度上是因为我太依赖 AI 帮我直接把东西“塞”进服务器的 Docker 镜像里。那种方案虽然看起来高大上,但一旦出错,黑盒里的报错简直让人抓狂。

所以这次,我决定“回归原始”:

  1. 拒绝黑盒:所有测试都在本地电脑上进行,每一个报错都盯着控制台看。
  2. 拥抱自动化:不再纠结于复杂的服务器配置,而是选择“本地测试 + GitHub 托管 + Cloudflare Pages 自动构建”的方案。

事实证明,这条路走通了。

# 那些差点让我再次放弃的“坑”

即便思路对了,ShokaX 还是给我出了不少难题。

最让我崩溃的是那种“高频抽搐”的抖动问题。只要页面滑到底部,整个界面就开始疯狂打架。还有那个怎么关也关不掉、链接还会报 assetsnull 错误的支付宝打赏码,简直像是主题里的幽灵。

如果是在以前,我可能又要在 Docker 报错日志里淹没了。但这次在本地环境下,我用到了 yetone 大佬开发的 Alma 。我和 Alma 像剥洋葱一样,把主题的 CSS 样式和 JS 脚本一层层拆开:

  • 我们发现是侧边栏的固定逻辑和页面高度在“互相伤害”,于是直接用 CSS Sticky 强行劝架。
  • 我们发现打赏码的配置合并逻辑有坑,于是干脆写了个脚本在构建前从内存里直接把不需要的项“硬删除”了。

不得不感叹,Alma 的执行力和理解力在这次高强度的 Debug 过程中起到了关键作用,在这里也特别感谢 yetone 大佬做出了这么顺手的工具。这种“外科手术式”的修复,最终让博客在我的 24 寸 Windows 显示器和 MacBook 上都表现得无比顺滑。

# 终于搞定了

当我在本地敲下 npx hexo s,看到那个干净、流畅、没有重影的界面时,我知道,这次是真的搞定了。

接着是 git push。看着 Cloudflare Pages 的进度条一点点走完,最后刷出那个熟悉的域名……那种成就感,真的比写代码本身还要强烈。

现在的博客:

  • 搜索:Pagefind 秒开。
  • 评论:Waline 甚至带上了我最爱的贴吧“滑稽”表情。
  • 稳定性:哪怕内容再少,也不会再有任何抖动。

# 写在最后

折腾博客的意义到底是什么?

我想,可能并不在于那几篇没人看的文章,而在于这种“不将就”的过程。在这个快节奏的时代,能为了一个好看的界面、一个丝滑的滚动条,去死磕一下午代码,本身就是一种奢侈的浪漫。

ShokaX,欢迎回来。


碎碎念:如果你也遇到了类似的抖动问题,或者是被 ShokaX 的配置折磨,欢迎留言,这次我真的久病成医了。