Nebula 2.9.1 发布:一款以内容为中心的 Typecho 三栏博客主题
让文字成为主角,让阅读回归安静。
Nebula 是一款兼容 Typecho 1.1 / 1.2 / 1.3 的三栏博客主题。它不追求堆满屏幕的功能入口,而是把首页、文章、评论、动态与友链重新整理成一套克制、清晰、适合长期写作的阅读界面。
本次更新版本为 2.9.1,补齐了动态页、评论点赞与 IP 归属地、朋友动态、公告弹窗、结构化广告、多源头像等细节,也重新打磨了移动端评论表单、表情面板和后台设置体验。

一、设计:三栏,但不拥挤
Nebula 采用「左侧博主卡 + 中间内容 + 右侧信息栏」的三栏结构。
- 左侧是博主信息、导航与社交入口;
- 中间是文章、动态与主要阅读内容;
- 右侧承载搜索、统计、最新文章、最新评论与目录。
桌面端保留完整三栏,移动端自动收束为单栏,并通过底部毛玻璃导航保持主要入口可达。整体使用统一圆角、轻阴影与低对比边框,深色模式下自动切换配色。
后台主题设置也沿用同一套卡片化视觉,设置项按「基础信息 / 幻灯片 / 广告 / 文章 / 评论 / 外观 / 侧边栏 / 导航菜单 / 友链 / SEO」分组,避免在一张长表单里反复寻找。

二、阅读体验:首页与文章
首页
- 支持首页轮播、静态 Banner 与分类 Tab;
- 文章卡片显示标题、分类、摘要、作者、日期、阅读量和评论数;
- 没有封面时从「随机封面图」中随机取图,再回退到默认封面或渐变封面;
- 首页摘要电脑端与手机端都只显示一行,文章卡上下留白更紧凑;
- 支持传统分页、点击加载更多、滚动自动加载三种首页加载模式;
- 分类 Tab 支持本地筛选,AJAX 加载后的新卡片也会保持当前分类。
文章页
- 标题头图:封面作为标题背景,标题与元信息叠加显示,可在后台关闭;
- 文章目录 TOC:桌面侧栏显示,移动端使用浮动目录;
- 正文支持代码高亮与复制、图片灯箱、图片描述、版权水印;
- 图片懒加载与毛玻璃模糊过渡,加载完成后淡入清晰;
- 支持 KaTeX 数学公式与 Mermaid 流程图,仅在页面实际需要时加载;
- 文章点赞、分享链接、二维码、系统分享与分享图片;
- 密码文章使用独立解锁卡片,输入正确密码前不渲染评论区;
- 评论关闭时,文章操作区、底栏与悬浮按钮都会显示关闭状态。
NEW 徽章现在位于文章封面左上角,采用紧凑包裹宽度;置顶徽章仍在卡片右上角,两者互不干扰。
三、评论:更像一段对话
评论以弹窗形式展开,桌面端最大宽度 820px,移动端接近全屏。
- 支持评论审核、验证码、隐私评论、图片上传、敏感词、好友认证邮箱;
- 评论和动态均可点赞,点赞数保存到
comments.agree,Cookie 记录当前访客状态,刷新后不会归零; - 显示 IP 归属地(如「中国广东广州」),使用缓存,只显示地区,不公开完整 IP;
- 评论图片支持灯箱与模糊懒加载;
- 评论弹窗一级评论使用独立底框,二级及更深回复包含在底框内;
- 回复只缩进一个头像宽度,不再使用左侧竖线;
- 评论分页支持「点击加载更多 / 滚动自动加载 / 页码 AJAX」;
- 评论加载完后不再残留「正在加载…」,按钮会显示「没有更多评论」;
- 移动端验证码与发送按钮在同一行,并与评论文本框左侧对齐;
- 评论表情面板保持 v1.9 的轻量样式,内联回复根据可用宽度自动调整列数,窄框不会强行塞满 8 列;
- 隐私评论开关打开后,输入框占位文字变为「隐私评论中」;
- 友链申请说明支持多行输入。
评论头像支持 Cravatar、Gravatar、Geekzu、V2EX、WeAvatar 和自定义头像源;QQ 邮箱会自动读取 QQ 头像。最新评论侧栏会显示最近 5 条公开评论,自动跳过隐私评论、友链申请和博主自己的评论。
四、动态页:像动态,也像文章
「动态页面」自定义模板(时光机)现在采用信息流卡片:
- 作者发布的一级动态显示头像、作者、时间、动态标签与 NEW 徽章;
- 正文优先使用 Typecho 原始评论内容,避免出现文字不显示;
- 图片、表情图片会自动识别并保持正确尺寸;
- 一级动态底部提供点赞、评论、分享;
- 作者的一级动态不显示头部「回复」文字,统一通过「评论」按钮回复;
- 回复博主时不再重复显示
@博主; - 博主回复其他访客时显示带盾牌的博主认证;
- 二级以上回复使用灰色底框,左右内边距一致,顶部留白更紧凑;
- 动态页头部使用与归档、友链、相册一致的 Hero 样式;
- 页面正文为空时不再输出空白内容面板。
五、友链与朋友动态
友链页面改为四个标签:
- 左邻右舍
- 站点联盟
- 朋友动态
- 申请友链
「左邻右舍」与「站点联盟」分别维护友链列表;「朋友动态」会并发读取每个友链的 /feed/,缓存 6 小时后显示最新一篇标题、日期、摘要和缩略图;「申请友链」保留审核表单与申请说明。
后台「友链」新增「站点联盟列表」,与原有友链分开维护。朋友动态读取失败时会显示空状态,不会影响友链页面其他标签。
六、广告与公告
广告位支持:
- 首页列表广告;
- 文章顶部、文中、底部广告;
- 侧边栏广告;
- 分类列表广告;
- 独立页面广告;
- 全站通投广告。
每个广告位既可以填写 HTML,也可以使用「通用文字 / 通用图片 / 通用链接」生成结构化广告。HTML 优先;HTML 为空时自动使用通用字段。广告总开关关闭后,全站广告 DOM 不再输出。
后台「首页公告弹窗」支持 HTML 或图片、文字、链接组合。公告只在首页展示,访客关闭一次后通过 localStorage 记住,不再重复弹出;有链接时显示「查看详情」按钮。
七、后台与细节
- 主题设置按十个分类组织,移动端保存条固定在屏幕底部;
- 博主卡片封面可自定义图片,留空保持渐变;
- 幻灯片封面使用模糊懒加载,首屏淡入;
- 页脚版权年份自动读取第一篇文章发布年份;
- ICP 备案号、公安备案号支持后台填写,留空不显示;
- 友链、归档、动态、相册模板在后台统一显示为简洁名称;
- 编辑器扩展工具栏独立放在 Typecho 原生工具栏下方,不遮挡原生按钮。
八、安装与升级
- 将
Nebula文件夹上传到usr/themes/Nebula; - 登录 Typecho 后台 → 控制台 → 外观;
- 启用 Nebula;
- 进入「设置外观」,按分组填写站点信息;
- 保存后访问首页。
升级时直接覆盖主题文件即可,主题设置保存在 Typecho 的 options 表中,不会因覆盖丢失。
九、模板选择
在后台新建页面后,在右侧「自定义模板」中选择:
| 模板文件 | 后台显示名称 | 用途 |
|---|---|---|
page-archive.php | 归档页面 | 按年份与月份归档全部文章 |
page-links.php | 友链页面 | 左邻右舍、站点联盟、朋友动态、申请友链 |
page-photo.php | 相册页面 | 两列等尺寸相册与灯箱 |
page-time.php | 动态页面 | 作者发布动态,访客回复 |
友链填写格式:
名称||链接||头像地址||简介
Typecho||https://typecho.org/||https://typecho.org/avatar.png||一个轻量博客程序相册填写格式:
图片地址||图片说明
/usr/uploads/2026/01/a.jpg||海边的下午十、常用短代码
| 短代码 | 作用 |
|---|---|
| 插入文章文中广告 | |
| 插入相册网格 | |
| 插入 HTML5 音乐播放器 | |
| 插入 B 站视频 | |
| 插入本地视频 | |
标题内容 | 折叠面板 |
内容 | 高亮提示条 |
| 文字 | 圆角按钮 |
| 标签页面板 |
推荐阅读换新主题了 | 插入指定文章卡片 |
| 登录后可见 | 仅登录用户可见 |
| 评论后可见 |
更多短代码和自定义字段说明可参考主题目录内的 README.md。
十一、兼容、性能与安全
- 兼容 Typecho 1.1 / 1.2 / 1.3;
- 推荐 PHP 8.0+,最低 PHP 7.4;
- 无 Typecho 插件依赖;
- KaTeX、Mermaid、Prism、Twemoji 本地打包,不请求外部 CDN;
- 统计缓存 10 分钟,朋友动态缓存 6 小时,IP 归属地缓存 7 天;
- 广告 HTML 属于管理员可信输入,其他动态文本与 URL 均做转义或协议过滤;
- 密码可见内容只是内容门槛,不适合存放敏感资料。
十二、下载
- 主题版本:2.9.1
- 主题目录:
usr/themes/Nebula - 作者:Xianyu
- 主题主页:https://xcnv.com/
如果你正在寻找一款安静、耐看、能长期写下去的 Typecho 主题,Nebula 会是一个合适的选择。
主题代码使用 MIT License,第三方资源许可见主题目录中的 THIRD_PARTY_LICENSES.txt。



还没有评论,来留下第一条想法吧。