主题
架构说明
luox 是一个承载内容网站生态的最小运行平台,而不是一套写死的博客实现。Core 和 Host 越小,项目模型、主题和插件越容易独立演进。
设计原则
- Core 最小化 — 只做运行时和 ABI,不解析 Markdown,不知道什么是首页。
- 一切皆插件 — 目录、配置、文章、页面、主题、资源、部署和命令都可替换。
- 默认不等于核心 — 类似 Hexo 的 source/themes/public 安排只是第一方插件的选择。
- 语言自由 — 插件作者可以使用 Rust、C/C++、Go、Python、TypeScript、Vue 或 WASM。
- 发布简单 — 最终用户只拿 exe、运行库、插件产物和项目文件。
阅读顺序
| 顺序 | 页面 | 回答的问题 |
|---|---|---|
| 1 | Core、Host、SDK、Plugin | 四层各自负责什么?边界在哪? |
| 2 | 运行时边界 | 启动流程是什么?Core 何时被加载? |
| 3 | 为什么一切皆插件 | 为什么不把功能写进 Core? |
| 4 | 版本与兼容性 | 插件如何升级不破坏用户? |
一个判断标准
删除所有博客插件后,luox.exe 仍然能启动并报告"没有可用命令插件",Core DLL 能独立被 SDK 加载,Host 源码不出现 _config.yml、source、themes、Markdown、RSS 或 GitHub Pages 的业务判断。
如果你发现某段代码违反了这条标准,它应该被移到一个插件里。