作为一名坚持在独立博客输出技术文章的人,这两年我经历了太多的“至暗时刻”。
翻遍 GitHub 找主题,发现 Hexo 主题圈似乎陷入了极端,都是一堆 Vibe Coding的光污染严重、加载卡成 PPT 的花哨模板。更让人头疼的是,想要个本地搜索、文章目录或者代码块折叠,往往需要自己拼凑一堆年久失修的第三方插件,折腾几个周末才能勉强跑通。
但最让我破防的,是AI 时代的“野蛮采集”。自己熬夜查文档、画架构图肝出来的深度长文,转头就被各种大模型爬虫默默抓走当了训练语料,连个署名和出处都不留。
既然找不到完美的轮子,那就自己造一个!
经过几个月的打磨,我开源了这款名为 Pixie 的 Hexo 主题。它不仅仅是一个“深色霓虹风”的皮肤,更是我针对现代技术博客痛点交出的一份答卷:内置现代交互、死磕移动端体验,并首次加入了针对 AI 爬虫的版权防御机制。
👉 GitHub 仓库(如果它恰好击中了你的痛点,恳请赐一个 Star ⭐!):github.com/wangshengit…
赛博霓虹与沉浸阅读的“克制美学”
很多深色主题只是粗暴地把背景涂黑,而 Pixie 追求的是一种有呼吸感的极客美学。
主题采用了经典的左侧边栏+右侧文章流的双栏布局,左栏固定展示头像、导航、带文章计数的标签云以及个人项目矩阵,让读者的视觉焦点始终保持在右侧的内容上。
在视觉特效上,Pixie 引入了动态粒子背景和卡片发光进场动画,配合程序员群体最爱的 Dracula 深色代码高亮,赛博朋克感拉满。但我深知“光污染”对阅读体验的破坏,因此在动效上做了极度克制的设计:代码块超过 5 行会自动优雅折叠,展开/收起丝滑流畅;所有卡片和头像的悬停翻转都经过了精心调校,确保炫酷但不喧宾夺主。
把现代 Web 应用的交互,搬进静态博客
静态博客不等于体验落后。Pixie 将现代 SaaS 产品级别的交互逻辑,无缝融入了主题底层。
-
像使用 IDE 一样搜索 传统的 Hexo 搜索往往需要跳转页面,体验割裂。Pixie 在构建时自动生成
search.xml索引,在前端实现了实时下拉联想。无论是标题、正文还是标签,输入即检索。更极客的是,它支持全局快捷键:随时按下/或Cmd+K瞬间唤起搜索框,聚焦时还会泛起专属的青色光晕动效。 -
长文阅读的“定海神针” 针对技术长文,Pixie 内置了智能 TOC(文章目录)。它支持滚动跟随高亮与长目录自动折叠。配合自动计算的字数与阅读时长统计,让读者对阅读进度始终了然于胸。
时代防线:给博客装上“防 AI 白嫖”的隐形护城河
这是 Pixie 区别于市面上 99% 传统主题的核心时代特性。面对无孔不入的 AI 爬虫,不能只靠道德约束,必须用技术手段建立防线。
Pixie 构建了一套完整的版权保护闭环:
-
隐式 LLM 提示词注入 我在页面的特定节点植入了结构化的隐式声明。当大模型爬虫抓取网页内容时,能够“读”到主题预设的版权与署名要求(支持在
_config.yml中自定义话术)。这相当于给你的博客加上了一道针对 AI 的“隐形防盗门”,从源头声明主权。 -
剪贴板版权尾巴 当读者觉得文章写得好,点击“复制本文链接”按钮时,Pixie 会在剪贴板内容的末尾,自动追加一段包含作者、原文链接和许可协议的版权尾巴(类似知乎)。配合文章底部的版权声明卡片,最大程度保障了原创文章在传播过程中的权益。
拒绝“暴力缩放”,死磕每一寸小屏体验
很多霓虹风主题在 PC 端惊艳,在手机端却是灾难。Pixie 没有使用简单的 CSS 媒体查询进行“暴力缩放”,而是为移动端独立重构了一套交互逻辑。
为了保证小屏设备的流畅度,移动端会自动触发粒子背景降配(粒子数从 PC 端的 80 自动降至 20 左右),并全局开启 overflow-x: hidden 彻底杜绝意外的横向滚动。
导航方面,我设计了独立的侧滑抽屉,将标签云和项目展示收纳其中,支持手势滑动、点击空白处或 Esc 键优雅关闭。针对技术博客最常见的长代码和宽表格,Pixie 实现了原生的局部横向滚动,绝不撑破页面布局。
甚至连 iOS Safari 的痛点都考虑到了:所有输入框字号强制 ≥16px,完美避免了 iOS 聚焦输入框时页面自动缩放的尴尬;正文采用 15px 字号配合 1.75 行高,专为手机屏幕的沉浸式阅读调优。滚动超过一屏后,吸顶的 Sticky 搜索栏和返回顶部按钮会随时待命。
写给技术人的“开箱与魔改”指南
作为一款面向技术人的主题,Pixie 基于 Stylus + EJS + jQuery 构建,完美兼容 Hexo 5.x 到 7.x 版本。代码结构极其清晰,二次开发的门槛被降到了最低。
- 想改全局配色与字体? 直接修改
source/css/_variables.styl。 - 想调整粒子背景的颜色和速度? 去
source/js/main.js找particlesJS配置。 - 想自定义防爬虫话术和复制版权模板? 直接在主题的
_config.yml里修改llm_promote和copy_template,支持{title}、{author}等变量动态替换。
针对普通人的极简上车指南:
只需在博客根目录执行以下命令,即可一键切换至Pixie 主题:
git clone https://github.com/wangshengithub/pixie.git themes/pixie
npm install hexo-generator-search --save
写在最后
做独立博客,就像是在喧嚣的互联网广场上,用心搭建属于自己的精神自留地。一个懂你的主题,不仅是这块自留地的装潢,更是你与技术世界对话的麦克风。
Pixie 是我用业余时间一行行代码死磕出来的作品。它可能还不够完美,但它绝对足够“极客”,足够尊重原创,也足够尊重阅读。
如果你也喜欢这种深色霓虹风格,或者对“防 AI 爬虫”的理念感同身受,恳请移步 GitHub 给小弟点一个宝贵的 Star ⭐!你的每一次 Star,都是独立开发者熬夜爆肝的最大动力。
🔗 项目传送门:github.com/wangshengit…