Candinya / Kratos-Rebirth

一个可爱而现代的 Hexo 主题
GNU General Public License v3.0
648 stars 81 forks source link

关于主题的 v3 版本发展规划 #206

Open Candinya opened 4 months ago

Candinya commented 4 months ago

首先我想向每一位维护者和用户道歉,因长期以来的疏于管理和维护让主题目前正处于一个高不成低不就的状态,很抱歉辜负了各位的期望 :pray:

这个主题的最初想法是我在还不是很懂代码的时候某次突发奇想拼凑出来的,并且由于在移植前(使用的魔改版)它的功能就已经非常丰富,所以到了实际移植做减法的时候留下了非常多的历史遗留问题,可以看到有很多提出 issue 希望新增其他功能或发现现有问题的情况。但一方面我自己已经很久没有更新主题和 blog 了所以甚至对主题感到有些陌生,另一方面由于一些时间排布问题所以并没有非常多的工夫来静下心来重拾这些内容。

但我也不想放弃这最初的美好。既然现有的架构充满了历史的遗憾,那索性推倒重来。所以就有了所谓的 v3 计划:

  1. 重新整理整个项目的结构
  2. 替换掉可用性不高或已经过时的组件依赖(例如仅为了展示弹窗引入的 layui 或是 ajax 用的 jQuery ,以及部分实现性能糟糕的特效代码)
  3. 去掉为了兼容性引入的冗余代码
  4. 使用成熟的方案来替代糟糕的手动实现(使用 flexsearch 替代手动搜索,重新整理 hexo 的数据库内容读取代码)
  5. 用模块化的方式引入挂件(例如 aplayer 播放器)支持
  6. 提供一个尽可能精简的核心,再慢慢地填充其他的扩展内容
  7. 重建开发工作流

这将会是一个非常大的破坏性升级,现有的配置文件格式会被完全重新设计以便更为高效地实现需求;同时也会重写主题的文档,并在 v3 beta 版本推出的时候提供一份可用于参考的迁移说明。

我争取能在 2024 Q4 前推出 alpha 版本的 v3 主题,在 2025 Q3 前推出第一个稳定发布版本。由于工作和生活上的一些琐事,我无法保证一定能稳步进展;但我会努力,无论是出于大家自发的认可(没有为主题做任何的广告也能达到如今的效果,说实话我已经非常震惊了),还是出于对自己初心的珍惜与热爱(这个应该算是我发布在 GitHub 上的第一个较为正式的项目)。

感谢各位一路以来一直的陪伴,期待我们继续一起前行。加油!

关于 v3.0.0 大版本发布前的 Pre-Release 的标签

预计使用四大阶段进行:

Linux-qitong commented 4 months ago

没事的,V3版本别忘了加入畅言,因为确实方便,如果是早期,我不会推荐畅言,但现在不同了。

ArcticLampyrid commented 4 months ago

话说文章随机封面是打算删除吗

Linux-qitong commented 4 months ago

Screenshot_2024-06-02-11-00-59-03_759d22c01f61b30a3a2e41e7176310a8 之前问过,主题未来类似于Next的结构,这是个好的方向,自定义更多。 希望到时候不要太复杂就好。

ArcticLampyrid commented 4 months ago

搜索页问题跟踪

image

image

Candinya commented 4 months ago

话说文章随机封面是打算删除吗

是的,主要是考虑到目前使用的随机图片存在版权隐患,去掉图片的时候也去掉了这个

但 V3 可以自行注入代码,所以未来预计会提供一个简单的示例脚本方便使用

Candinya commented 4 months ago

搜索结果未正确应用封面信息

这个其实想的是搜索结果里不需要包含封面信息,主要显示高亮关键词,可能是改样式的时候出了点问题导致左边空出来了一块

RainHoutas commented 4 months ago

大佬加油啊,用了这个主题两年半了,希望越来越好(⁠●⁠♡⁠∀⁠♡⁠)

ted423 commented 1 week ago

我有点蠢,友链那里没看懂... _data 应该是跟_post一个目录?

最近才换,v2也还没注意友链这块。

我是想加到footer那块,additional_injections 似乎不能加 {% linklist linklistindata %}

Candinya commented 1 week ago

_data 应该是跟_post一个目录?

对的,就是 quickstart 仓库里的 source/_data/linklist.yml 这个文件 https://github.com/kratos-rebirth/quickstart/blob/main/source/_data/linklist.yml

我是想加到footer那块,additional_injections 似乎不能加 {% linklist linklistindata %}吧

是指纯文字(HTML)形式引入吗?使用 linklist 组件做出来的是一个带有样式的块状结构列表,如果是页脚文本的话应该是 footer.components.additional 这里,确实不能用组件而是需要手工设置(但也不麻烦,配置一遍给所有页面可用),可以参考 https://wiki.krt.moe/posts/configurations/#页脚配置