Typecho 的默认主题能用,但很少有人认为它好看。于是这个生态里最有生命力的一类项目,就是「把博客打扮成自己想要的样子」——Bubble 是其中一个挺有代表性的:清新、卡片化、全屏壁纸、半透明气泡,一个 ZIP 不到 250 KB,装进主题目录就能用。
项目在 GitHub 上叫 trinitrotofu/Bubble,MIT 协议,2020 年 2 月 12 日建仓,约 471 星、52 个 fork、12 个未关闭 issue,仓库约 3 MB。作者是三个人:三硝基豆腐、Rorical、Totorato,简介里写着「化繁为简,如沐清风」。但有一件事必须先说:最后一次提交停在 2022 年 1 月 15 日,之后没有新版本。这决定了它适合谁、不适合谁。
一、它长什么样
首页是「一张全屏壁纸 + 居中的头像与站点名 + 副标题」的结构,壁纸上浮着几颗半透明气泡,往下滚才是文章卡片列表。这个视觉基座来自 Argon Design System——一套偏 Material 风格的开源设计系统,所以按钮、卡片、输入框的圆角与阴影都有统一的出处,不是随手捏的。
文章页顶部同样是一张头图,可以和首页壁纸不同,而且支持一次填多个 URL 随机抽取,刷新几次换一张。评论区做成卡片,博主有自己的标识,头像大小调整过,移动端适配也做了——README 里专门提到「解决评论卡片无法显示于子评论下方的问题」,看得出是真在用。
二、功能清单:该有的都有,还多了一点
| 类别 | 能力 | 实现方式 |
|---|---|---|
| 浏览体验 | 全站 pjax、评论无刷新提交 | pjax + ajax,静态资源走 jsDelivr CDN |
| 内容呈现 | 代码高亮、数学公式、图片查看器 | prism.js、KaTeX、viewer.js |
| 导航 | 文章目录 | 可展开/收起,右侧悬浮 |
| 短代码 | 彩色高亮框、友链卡片 | 自定义标签 bbcode 与 bblist / bblink |
| 个性化 | LOGO、头像、首页壁纸、随机头图、气泡开关、自定义 CSS | 后台「设置外观」逐项配置 |
| 页脚 | 最新评论 / 最新文章 / 近期归档 | 主题内置小工具,可开关 |
| 维护 | 自动检查更新、一键升级 | v4.0 起支持,从 jsDelivr 拉新版本 |
短代码那两个标签挺实用:bbcode 给你一个带颜色的提示框(success / danger / warning / secondary / info / default / primary 七种),bblist 配 bblink 直接渲染成一排友链卡,比自己写 HTML 省事。不过 README 也提醒了一句:如果用第三方文章编辑器,短代码可能不生效,得先关掉试试。
还有两个小细节能看出作者是真在用这个主题写博客:登录后右下角会出现快捷编辑按钮,点一下直接进后台改文章;页面底部有回到顶部按钮。这些都不是「主题必备」,但确实是长期写作的人才会想到加的。
三、版本演进与它的终点
从更新记录能看出开发节奏:2.0 把页面改成卡片式并重做评论区;3.0 是一次大跨步,pjax、KaTeX、prism.js、短代码全在这版进来,作者自己注明「此次更新主要由 Rorical 贡献代码」;4.0 加了自动更新、TOC、viewer.js、副标题设置。
然后就没有然后了。2022 年 1 月 15 日之后仓库再没新提交,12 个 issue 挂着没人回。停更不是罪,但意味着兼容性要自己兜:Typecho 后面的大版本对主题接口有过调整,装之前最好先在测试站上跑一遍;pjax 这类全局劫持页面的玩法,和后来兴起的很多插件天生冲突,出问题时第一个要怀疑它。
四、安装与三个坑
安装本身没什么门槛:Releases 里下 zip、解压、丢进 Typecho 的 usrs/themes/ 目录、后台启用,然后去「控制台 → 外观 → 设置外观」逐项配置。真正需要留意的是下面三件事。
第一,自动更新之后要重启主题。Typecho 的设计导致主题新增的设置项在升级后不会自动带默认值,会留空——尤其是「选择型」设置项(比如 prism 主题、评论缩进风格),留空可能直接导致页面样式错乱。升级完先去设置页扫一遍,或者干脆启用另一个主题再切回来,让默认值重新落库。
第二,pjax 是双刃剑。开了之后站内跳转确实快,但任何依赖「页面完整加载」的第三方脚本都可能失灵——比如你自己接的数学公式插件、统计代码、评论增强。主题留了一个「pjax 回调代码」的输入框,本质上就是让你在无刷新切换完成后手动补一句函数调用。这不是优雅的设计,但确实是当时最省事的解法。README 里明确建议:不确定就先别开。
第三,CDN 依赖。主题的大部分静态资源从 jsDelivr 加载,好处是省自己服务器的流量和带宽,坏处是 jsDelivr 在部分网络环境下不稳定。如果访客主要在国内,遇到样式加载不出来,基本就是这一层的问题;要彻底解决得把资源本地化,改主题里的引用路径。
五、设置项里的两个「选择困难」
评论缩进风格是这主题比较有意思的一个选项。Typecho 默认是「每层回复都缩进一次」,楼中楼一深,右边就只剩一条缝;Bubble 提供了另一种:在必要的时候把评论合并到同一层,用「A 回复 B」的方式表达关系,而不是靠缩进。前者层级清晰但占宽度,后者更适合手机。这是个没有标准答案的取舍,能把它做成选项,说明作者想过这件事。
另一个是「被回复人的昵称显示」。打开时评论头像是「aa 回复 bb · 时间」,关闭时只有「aa · 时间」。楼中楼多了以后,前者能省掉读者自己往上找的力气,但一行会变长。这种细枝末节的选择,恰恰是「自己博客」和「通用主题」的区别。
六、现在还该不该用
如果你的博客跑在 Typecho 1.1 / 1.2 上,喜欢这种全屏壁纸加卡片列表的观感,也不打算折腾插件生态,Bubble 依然是个省心的选择:装完就能用,配置项够全,代码不复杂,出问题自己能改——MIT 协议,改完想怎么用都行。
但如果你跑的是最新版 Typecho、依赖一堆插件、或者希望主题长期跟进维护,那它已经不是最优解了。停更四年的主题,等于把所有兼容性风险转移给了使用者。把它当成「一个好看的起点」而不是「一个持续维护的产品」,这是用之前该有的心态。
顺带一句:作者的演示站 typecho.tntofu.com 目前打不开(返回 502),想看效果只能靠仓库里的截图,或者自己装一个。这也是停更项目的常态——代码还在,演示先没了。
本文整理自公开资料并重写:项目仓库 README(特性说明、安装与更新步骤、全部设置项说明、短代码语法、更新历史)、仓库元信息(星标、fork、issue、许可证、建仓与最后提交时间)以及仓库内官方截图。仓库数据与演示站状态截至 2026 年 11 月,具体以 GitHub 页面为准。配图一张取自仓库内置截图(未改动像素,仅统一格式与压缩),一张为依据 README 更新记录自绘的版本演进信息图。演示站、作者博客、友链示例、Star 与赞助入口一律未收录;文中提到的第三方 CDN 与设计系统仅作事实说明,不构成推荐。
本文整理自公开资料并做重写,原始出处:https://github.com/trinitrotofu/Bubble。文中配图已去除站点叠加水印与推广信息;版权归原作者所有。

