现在是 2026 年 1 月 9 日,凌晨。
现在在思考 CZON 的自定义主题功能,之前已经决定使用 JSX 来实现这个功能。
如果使用 JSX,那么接口就变成 URL -> State -> HTML。
URL 仍然是重要的,因为最后我们要渲染成静态的 HTML 文件,出于 SEO 的考虑,URL 还是需要的。 并且 URL 的主要部分是 Path,而不是 Query / Hash,因为这些东西无法被翻译成静态文件,动态性太强。
因此,URL,特别是 Path,仍然会是 CZON 的核心概念。
React 认为 UI = f(State),JSX 就是这个函数 f 的表现形式。
那么 CZON 要处理的问题就是:
有哪些 URL 可以访问?
- 所有的 Markdown 文件。为了展示文章内容。
- 列表索引页面,主要为了展示某个标准下的其他 URL,比如分类、标签、归档等。
- 其他特殊页面。
每个 URL 对应的 State 是什么?
无论是哪种 URL,State 总是可以被设计成全局性的。 就算是文章页面,也可以传入所有文章的列表,只不过只渲染当前文章而已。
如何根据 State 渲染 HTML?
这就是 JSX 的责任了。JSX 组件接收 State 作为 Props,然后返回 React Element,最后再由 ReactDOMServer 渲染成 HTML。如有必要,在客户端再进行 Hydrate。
所以,CZON 的主题系统,实际上就是一组 JSX 组件,这些组件接收 CZON 提供的 State,然后渲染成 HTML...这感觉和一个现代的 React 静态站点生成器没什么区别。🤔 我真的做得过已经成熟的方案吗?
SSG (Static Site Generator) 并且综合使用 React + Markdown 现在已经有很多成熟的方案了,比如 Next.js、Gatsby、Astro、Docusaurus、Nextra、VitePress 等等。 这些方案都已经非常成熟,功能也很强大,为什么还要自己造轮子呢?
不过,CZON 也有自己的独特之处,主要都集中在 AI 集成方面:
母语编写,自动翻译
CZON 的核心卖点之一是支持母语编写内容,然后通过 AI 翻译成多语言版本。 这在现有的 SSG 中并不常见,虽然有一些插件可以实现类似功能,但 CZON 可以更好地集成这一点。
自动摘要文档元信息
CZON 可以自动从文档中提取元信息,比如标题、摘要、关键词等,这对于 SEO 和内容管理非常有帮助。用户可以作为一个作家,而有一个专业 AI 助手不厌其烦地帮你处理这些琐事。
智能内容生成与优化 (TODO)
虽然 CZON 暂时没有这个功能,但未来可以集成 AI 来帮助生成内容、优化 SEO、甚至根据用户行为动态调整内容。例如,AI 可以评审文章的可读性,提供改进建议,或者生成相关的多媒体内容(如图片、视频等)。
智能分发与推荐 (TODO)
越能植入读者心智的内容,越有价值。所有做内容的作者都深谙此道理,做精美的框架和主题固然重要,但生产吸引读者的内容才是王道。CZON 需要考虑的是,如何打通内容创作与分发的闭环,让 AI 帮助作者更好地触达用户。例如,一键生成特定社交媒体风格的推广文案,或者根据读者兴趣推荐相关文章等。
综上所述,虽然 CZON 在某些方面与现有的 SSG 有重叠,但它在 AI 集成和内容管理方面有独特的优势。所以,继续开发 CZON 作为一个独立的工具是有意义的。但是,需要注意的是,CZON 应该专注于其独特的卖点,而不是试图重新发明已经成熟的轮子。目前,能用就行,不求完美。
因此,我决定暂时暂停 CZON 的自定义主题功能的开发,转而专注于完善其核心功能,特别是 AI 集成和内容管理方面的特色功能。节省一些精力,等 CZON 的核心功能更稳定后,再考虑是否需要引入自定义主题功能,或者直接利用现有的 SSG 进行集成。
未来专门写一篇文章来确定 CZON 的定位和目标用户群体,明确它与现有 SSG 的区别和优势。