Hexo 的主题换了一茬又一茬,NexT 是少数从 2015 年活到现在还在更新的。它的定位很清楚:给写文字的人用,不炫技,排版稳。
我把 8.29.0 装到 Hexo 8.1.2 上跑了一遍,三篇文章、标签页、分类页、关于页全部出图。整个过程不快,但也不难——难点都在「默认状态不能用」的那些地方。

NexT 能干什么
主题不是程序,它能干的事其实就是「把你的文章排成什么样子」。
按用途对号入座——
- 纯文字博客:没有大图轮播、没有花哨动效,注意力全在字上
- 技术博客:代码块、行号、复制按钮、文章目录,写教程够用
- 长文阅读:中文行高和段距的默认值调得很稳,几千字看下来不累
- 想要几种外观换着玩:自带四套方案,改一行配置就换
- 要暗色模式:跟着系统走,不闪白
- 中文站:界面文案有中文语言包,不用自己翻
它给不了「一眼惊艳」——没有全屏大图、没有视差滚动、没有入场动画。要那些效果的,去看 Butterfly、Fluid 那一路。
核心功能亮点
- 四套方案(Schemes):Muse、Mist、Pisces、Gemini,布局差别不小,改一行就切
- 暗色模式:CSS 变量实现,不是 JS 事后涂色,所以不闪白
- 代码高亮 + 行号 + 复制:技术文章的刚需
- 文章目录(TOC):侧边栏自动生成,滚动高亮当前节
- 本地搜索:配一下就有站内搜索,不用外挂服务
- 标签 / 分类 / 归档页:Hexo 生成好,主题负责排版
- 评论系统接口:Valine、Twikoo、Giscus 这些主流方案都留了位置
- 零依赖、143KB:装起来没有任何附带包袱
一、装之前先知道
- npm 包 143KB,解压 0.47MB,零依赖
- 许可证 AGPL-3.0
- 装法就两步:主题目录扔进
themes/,站点_config.yml里写theme: next
npm i hexo-theme-next装完 hexo s,能打开。然后就到了第一个坑。
二、菜单是注释掉的
打开主题的 _config.yml,menu: 下面整段都是 # 开头:
menu:
#home: / || fa fa-home
#about: /about/ || fa fa-user
#tags: /tags/ || fa fa-tags不打开,导航栏就是一片空白——不是没渲染,是压根没有菜单项。
改开之后还有第二个问题:标签页和分类页要自己建。NexT 只负责渲染,页面本身得你在 source/ 下建出来:
source/tags/index.md 内容写 type: tags
source/categories/index.md 内容写 type: categories不建,点菜单就是 404。这个 404 特别迷惑,因为菜单项明明是主题配的,看起来像主题的问题。

分类页同理,type: categories。

三、头像那行是被注释掉的
avatar:
# Replace the default image and set the url here.
url: #/images/avatar.gif注意 url: 后面那个 # —— 整个值被注释掉了。
我第一次换头像:把 avatar.gif 换成自己的 png,hexo clean && hexo g,刷新,还是那个灰色小人。因为 url 的值是空的,文件换不换没关系。
改法就一行:
avatar:
url: /images/avatar.png四、暗色模式不是 JS 切的
这条值得单独说,因为它决定你怎么调试。
很多主题的暗色是给 <html> 加个 class 或者 data-theme="dark",NexT 8.29 不是。它是 CSS 媒体查询:
@media (prefers-color-scheme: dark) { ... }好处是首屏不闪——页面渲染出来就是暗的,不会先白一下再变黑。坏处是你在浏览器里找不到那个"开关按钮",截图和调试都得用 DevTools 里的「模拟 CSS 媒体特性」去切。
另外配置里有两个相关项,别同时开:
darkmode: true # 跟随系统
lightdark:
enable: false # CSS 的 light-dark() 函数,浏览器支持还不如媒体查询两个都开会打架。

五、四套方案选哪个
scheme: Gemini
#scheme: Muse
#scheme: Mist
#scheme: Pisces- Muse:单栏,最快,最朴素
- Mist:单栏紧凑版,边距更小
- Pisces:双栏,左侧固定侧栏
- Gemini:双栏,左右对称,观感最现代
我截图用的是 Gemini。选它是因为侧栏能塞下头像、简介和站内统计,信息密度刚好;纯文字博客用 Muse 更清爽。
改这一行就换整套布局,不用动模板——这是 NexT 做得最好的地方。
六、摘要和页脚
首页默认会把整篇文章铺出来。在正文里插一行:
<!-- more -->这行之前进摘要。
页脚:
footer:
copyright:
theme: false
since: 2026theme: false 关掉「由 Hexo 强力驱动」,since 填建站年份,之后每年自动变成 2026 - 2027。
七、实测结果
八张图,都是这个包跑出来的:
- 首页(卡片式列表 + 摘要 + 阅读全文)
- 文章页(右侧目录、代码块行号)
- 归档页(按年份分组,带条数)
- 标签页(标签云,字号随文章数变化)
- 分类页
- 关于页
- 暗色模式
- 手机版 390 宽


关于页是最简单的一页,但也最能看出主题的排版底子——标题、正文、间距,全部吃默认值:


生成速度:68 个文件 1.1 秒。这个数字没什么参考价值——Hexo 本来就是「生成一次,之后只发静态文件」。
八、缺点
AGPL-3.0。 这是最需要说清楚的一条。自己用没问题,改了放在自己站上也没问题;但改了再分发,你的修改也得按 AGPL 开放。想拿它当商业模板卖,得先读许可。
配置项太多。 主题的 _config.yml 将近两千行,两百多个开关。搜索、评论、统计、CDN、动画,每一项都能配。好处是全能,坏处是第一次打开会不知道从哪下手。我这次只动了六处,剩下全靠默认值。
没有开箱即用的搜索。 本地搜索要手动开,开了之后文章一多,search.xml 就是几 MB。这不是 NexT 的锅,静态站都这样。
改内容要重新生成。 这是 Hexo 的模型,不是主题的问题。发一篇文章 = 写 md + hexo g + 上传 public/。习惯了 WordPress 那种「后台点发布」的人会不适应。
中文文档跟不上版本。 官方文档是英文的,中文教程很多还停留在 v7。配置项的键名在 v8 改过(比如 custom_logo 挪了位置),照着老教程改,改了没反应是常态。
九、自己动手的成本
装主题本身十分钟。真正花时间的是:
- 把菜单和页面建齐。标签页、分类页这两个 404 很多人卡住
- 换品牌。favicon、头像、站点信息、页脚,四处零散配置
- 想要暗色效果就得会调试。得知道去 DevTools 里模拟媒体查询
我这次从装到截完八张图,一个半小时左右。其中二十分钟浪费在「头像换了没生效」上——就是那个被注释掉的 url:。
十、包里有什么
| 内容 | 说明 |
|---|---|
site/ | 可运行的 Hexo 站点,node_modules 已装好 |
site/themes/next/ | NexT 8.29.0 本体 |
site/public/ | 已生成的静态文件,可直接部署 |
原始包/ | npm 上的原版 tgz,没改过 |
预览截图/ | 上面那八张图 |
启动本地预览.bat | 双击起服务 |
两个小提醒:
- 建议先「转存到自己网盘」再下载——直接下载的链接容易失效,转存后就是你自己的了,随时能下;
- 手机上操作:点开链接 → 右下角「保存到网盘」→ 回夸克 App 的「我的网盘」里下载。
装之前先确认两件事:Node 18 以上、一个能跑的 Hexo 站点(只有主题没有引擎是用不了的)。它不带数据库、不带后台,改配置全靠编辑文件。
用法:解压到纯英文路径,双击 启动本地预览.bat,浏览器自动打开 http://localhost:4000。
没装 Node 也能看:直接双击 site/public/index.html,样式正常,只是搜索和标签跳转会失效。
包里的站点是这个样子:藏蓝主色、源码湾的图标和头像、中文菜单、三篇示例文章。想改成自己的,改 _config.yml 的 title/author,再换 themes/next/source/images/ 下那两个图标就够了,不用碰 CSS。
十一、谁适合用
NexT 适合以文字为主、长期更新、不想折腾前端的博客。
它的排版经得起看:中文行高、段落间距、代码块、引用块,默认值就是舒服的。你可能要调很久才能把别的主题调到这个程度。
反过来,如果你要的是「一眼惊艳」的视觉效果——大图、动效、沉浸式阅读——NexT 会让你失望。它二十年如一日的克制,换个角度看就是保守。
还有一点:它不适合不懂命令行的用户。虽然跑起来只要一条命令,但装主题、改配置、重新生成,全在终端里。
包里主题本体保持原版,未做任何修改。品牌化的部分全在站点配置和图片上,AGPL 的 LICENSE 文件在 themes/next/ 下面。