原来的主题是 https://github.com/fi3ework/hexo-theme-archer
但不幸的是,维护者有自己的事要做,老的版本有老的 bug,最新的版本有新的 bug,修复时间未知,PR里另一个维护者有不同意见却长期没有获得回应。整个主题的版本不可控制,并且它推荐的安装方式是用整个 Github 项目,配置什么的都在里面,已经开始影响我写博客了。
因为提交的时候是主题和文章一起提交。而原项目的所有配置都写死在了项目里,如果我需要使用,最好的方式是我自己去维护一个个人版本。这有几个问题。
- 这个项目的使用方式需要使用者自行在 themes 里做一个单独的代码版本控制(项目本身并没有明确要求,但实际使用中肯定是需要的)。如果不做,等哪天你需要更新了,你会发现不知道哪些文件是不必要的,哪些文件需要更新,哪些文件被还原了导致奇怪的问题,甚至你大概需要自己重新编译一下。这是一个正常的 Hexo Theme 不会有的要求,我的主要目的是写博客,虽然个人愿意维护一个自己的版本,甚至已经这么做过了。
- 这个自己维护的代码应该是私密的,因为配置都在里面,我不希望别人围观配置,但个人配置这种东西,它就应该在本地。
- 调试主题以及配置会影响我更新文章。如果调试需要花几天时间甚至更长,我没法把一个有 bug 的博客更新出去,况且我本身不希望花太多时间在这上面。
- 整个项目的设计存在明显问题,大部分其他项目提供配置示例都是加了 .sample,这样不会有配置覆盖修改之类的问题,参考上面第二点,原始 code 应该和编译后的 release 文件分开。而在这个项目中,你需要把 .git 文件夹还有一大堆应该用不上的文件都放到你的 themes 文件夹中,另外我估摸编译的 node_modules 和主题中需要使用的 node_modules 混在了一起。
- 主要维护者删 package-lock.json
- 其他主题都带 local search
新的主题是 https://github.com/ppoffice/hexo-theme-icarus
就本身来说我还是比较喜欢原来的主题样式,新的主题还有好多我不太喜欢的变化,例如页面宽度(原来的我自己调宽了),预览的长度。不过好歹支持了 toc,虽然解析似乎还有问题
不过这块应该可以克服和改进,毕竟很多还没来得及研究
https://github.com/ppoffice/hexo-theme-icarus/issues/1254
最后又弃用的原因见这个issue
hexo-theme-icarus 中 hexo-renderer-inferno 似乎导致了 Linux 上无法 npm install
的问题。 -2024-10-10