从 7 月 13 号动了搭建博客的念头,到现在 7 月 17 号深夜,正好 5 天。中间经历了几次推翻重来,也踩了不少坑,不过终于可以正式宣布:Luxen | 洛克森 上线了。

为什么选择 Hugo
最早研究的是 Hexo。Node 生态我很熟,想着上手应该很快。但真正比较之后,Hugo 的构建速度实在太有说服力了——Go 写的,几十篇文章毫秒级出结果,而且单二进制部署,不需要折腾 Node 版本。
更重要的是 Hugo 的模板系统。虽然学习曲线比 Hexo 陡,但一旦掌握了 partial、block、shortcode 这套体系,定制能力远超预期。
主题:从 Hextra 到 LuxTHE
第一个试用的主题是 Hextra,文档风格确实清爽。用了两天之后发现——它是给文档站设计的,写博客总感觉像在读手册,缺少「家」的感觉。
然后发现了 Stack。三栏布局、分类 pill、暗色模式——这正是我想要的样子。但 Stack 的原始版本有些细节不太适应中文博客:
- 分类排序是乱的,没有权重系统
- 移动端体验粗糙,缺少触控优化
- i18n 覆盖不全
- SCSS 历史债务较重,部分对比度甚至不达标
于是开始自己改。改着改着,改动越来越大,干脆 fork 出来做了一个新主题——LuxTHE。
LuxTHE 的版本迭代
| 版本 | 日期 | 主要变化 |
|---|---|---|
| v3.1.0 | 7/16 | CI 恢复、双语示例站、空分类法降级 |
| v3.2.0 | 7/16 | 44px 触控目标、100dvh、安全区域、分页/RSS i18n |
| v3.3.0 | 7/16 | 对比度达标、h1 规范、Escape 菜单、hreflang |
| v3.5.1 | 7/17 | 站点固定版式并入主题 |
| v3.6.0 | 7/17 | 默认头像(桌面圆形 + 移动 mini) |
| v3.6.2 | 7/17 | 4 分类预设、默认 favicon |
| v3.6.8 | 7/17 | 完全审计整改:CI、对比度、焦点、SEO 闭环 |
代码审计
主题经过了三次完整审计(v3.6.2 → v3.6.6 → v3.6.7 → v3.6.8),修复了:
- 构建确定性:多语言 contentDir 隔离,40 次构建单一哈希
- 可访问性:所有文本 ≥ 4.5:1 对比度、焦点可见、DOM 阅读顺序
- SEO:canonical/hreflang/og:locale/theme-color 全量正确
- CI 门禁:SHA256 校验 Hugo、预设矩阵、确定性检查
技术栈
- 静态生成:Hugo v0.164.0 Extended
- 主题:LuxTHE v3.6.8(开源在 GitHub)
- 部署:Cloudflare Pages
- 搜索:FlexSearch(纯前端)
- 字体:系统字体栈
后续计划
- 按四个分类持续更新内容
- 接入评论系统
- 添加 RSS 订阅引导
- 持续维护 LuxTHE 主题
折腾了 5 天,改了上百个文件,审计了三轮。但看着现在这个干净的版面和开箱即用的主题仓库,还是觉得值得的。
路虽远,行则将至。
