《博客正式上线了》的特色图片

博客正式上线了

从零搭建 Hugo 博客,折腾主题、修 bug、审计代码,终于在 7 月 17 日正式上线。

从 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.07/16CI 恢复、双语示例站、空分类法降级
v3.2.07/1644px 触控目标、100dvh、安全区域、分页/RSS i18n
v3.3.07/16对比度达标、h1 规范、Escape 菜单、hreflang
v3.5.17/17站点固定版式并入主题
v3.6.07/17默认头像(桌面圆形 + 移动 mini)
v3.6.27/174 分类预设、默认 favicon
v3.6.87/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(纯前端)
  • 字体:系统字体栈

后续计划

  1. 按四个分类持续更新内容
  2. 接入评论系统
  3. 添加 RSS 订阅引导
  4. 持续维护 LuxTHE 主题

折腾了 5 天,改了上百个文件,审计了三轮。但看着现在这个干净的版面和开箱即用的主题仓库,还是觉得值得的。

路虽远,行则将至。