✏ 一款简洁优雅的 Typecho 主题
本仓库是由 Geek0ne 独立维护的增强改进版,在原版基础上持续维护,加入了安全加固、Typecho 1.3 / PHP 8.x 兼容等改进。
作为计算机术语时,VOID-Plus 的意思是「无类型」。
原介绍文章:VOID:现在可以公开的情报,原作者 熊猫小A / AlanDecode,主题设计归原作者所有。
- 响应式设计
- PJAX 无刷新体验
- AJAX 评论
- 前台无跳转登陆(兼容 PJAX)
- 自动夜间模式
- 优秀的可读性
- 衬线、非衬线两种文字风格
- 代码高亮(浅色暗色两种风格,随主题切换)
- Mac 风格代码块(可开启或关闭)
- 代码行号
- 站点样式设置面板(日夜转换、字体、字号)
- MathJax 公式
- 表情解析(文章、评论可用)
- 图片排版(可用作相册)
- 图片懒加载
- 灵活的头图设置
- 文章目录解析
- 完整的结构化数据支持
- 够用的后台设置与丰富的高级设置
- 页眉右上角昼夜模式切换按钮(可手动覆盖后台模式)
- 网站备案号显示(带国徽图标,链接至工信部查询)
- 版权说明(页脚与文章末尾,附许可协议链接)
- 建站时间设置(页脚版权年份与「感谢陪伴」计时随之更新)
结合附带的配套专用插件,还有更多功能:
- 浏览量统计
- 文章点赞
- 文章字数统计
- 评论投票与自动折叠
- 访客互动展示
以及其他很多细节,总之用起来还算舒服。这里有一个示例页面,可以看到 VOID-Plus 对常用写作元素的支持以及一些特色功能演示。
- 下载主题:发布版,注意是下载 VOID-Plus-x.y.z.zip 这个压缩包,而不是 Source code
- 解压
- 将主题文件夹下的 VOID-Plus 文件夹上传至站点 /usr/themes 目录下
- 后台启用主题
- 将配套插件文件夹下的 VOIDPlus 文件夹上传至站点 /usr/plugins 目录下
- 后台启用插件
- 可选:将主题
assets文件夹下的VOID-CacheRule.js复制一份到站点根目录,并在主题设置中启用 Service Worker 缓存。 - 可选:主题文件夹下 advanceSetting.sample.json 中有一些高级设置,各项含义见超高级设置。
后台「主题设置 → 超高级设置」是一个 JSON 输入框,用来填写主题的进阶选项。
仓库根目录的 advanceSetting.sample.json 是完整的示例文件,
把其中需要的条目复制粘贴进去即可,不必全部填写。
⚠️ 该输入框只接受合法 JSON。从示例文件复制时必须删掉所有以//开头的注释行, 否则解析失败,主题会保留默认设置而不生效(此时页脚计时等会表现为"设置没反应")。
| 选项 | 类型 | 默认值 | 说明 |
|---|---|---|---|
name |
string | 空 | 左上角显示的站点名,留空则用后台的站点名称 |
brandFont |
object | 见下 | 站点标题的自定义字体 |
brandFont.src |
string | 空 | 字体文件链接,只允许 http(s) 或站内相对路径 |
brandFont.style |
string | normal |
字体样式,如 normal、italic |
brandFont.weight |
string | normal |
字重,如 normal、bold、300、400 |
desktopBannerHeight |
number | 空 | 桌面端头图高度,数值为占屏幕高度的百分比 |
mobileBannerHeight |
number | 空 | 移动端头图高度,同上 |
headerMode |
number | 1 |
导航栏模式:0 随滚动显隐、1 固定、2 不固定 |
headerModeMobile |
number | 未设置 | 移动端导航栏模式,取值同上;不填则跟随 headerMode |
defaultFontSize |
number | 3 |
文章字号:1=14px 2=16px 3=18px 4=20px 5=22px;访客在前台自行调整后以访客选择为准 |
useFiraCodeFont |
bool | false |
代码块使用 Fira Code 字体(有连字效果,由 Google Fonts 提供,会略增加载时间) |
followSystemColorScheme |
bool | false |
跟随操作系统的深浅色,仅 macOS 10.14.4 及以上版本的 Safari 生效 |
darkModeTime |
object | 见下 | 夜间模式的时间段 |
darkModeTime.start |
number | 22.0 |
夜间开始时间,22.5 表示 22 点 30 分 |
darkModeTime.end |
number | 7.0 |
夜间结束时间,7.0 表示次日 7 点 00 分 |
largePhotoSet |
bool | true |
启用大图集排版 |
macStyleCodeBlock |
bool | true |
Mac 风格代码块 |
lineNumbers |
bool | true |
代码块显示行号 |
parseFigcaption |
bool | true |
在图片下方显示图题 |
bluredLazyload |
bool | false |
模糊渐变懒加载,需配合 CDNType 使用 |
browserLevelLoadingLazy |
bool | false |
使用浏览器原生 loading="lazy" 懒加载,对 SEO 更友好;开启后模糊懒加载失效 |
CDNType |
object | 空 | CDN 域名与类型的映射,如 {"cdn.example.com":"UPYUN"},类型可选 UPYUN、QINIU;模糊懒加载时又拍云需把处理间隔符设为 ! |
twitterId |
string | 空 | Twitter 社交 ID,用于生成分享链接 |
weiboId |
string | 空 | 微博社交 ID,用于生成分享链接 |
commentFoldThreshold |
array | [5, 1.5] |
评论折叠阈值:[5, 1.5] 表示踩数大于 5 且达到点赞数的 1.5 倍时折叠该评论 |
commentNotification |
string | 空 | 评论区的提示文字 |
link |
array | 空 | 自定义社交链接,字段为 name、icon、href、target;icon 取主题图标字体中的名称(如 github、weibo、twitter、qq) |
nav |
array | 空 | 导航栏下拉列表,字段为 name 与 items(每项含 link、title、target) |
如何开启文章点赞?
文章点赞功能依赖配套插件,请上传至插件目录并启用。插件随主题发行包提供(VOID-Plus.zip 的 2.配套插件/VOIDPlus 文件夹),上传至 /usr/plugins 目录后台启用即可。
如何开启文章浏览量统计?
文章浏览量统计功能依赖配套插件,请上传至插件目录并启用。插件随主题发行包提供(VOID-Plus.zip 的 2.配套插件/VOIDPlus 文件夹),上传至 /usr/plugins 目录后台启用即可。
如何开启文章字数统计?
文章字数统计功能依赖配套插件,请上传至插件目录并启用。插件随主题发行包提供(VOID-Plus.zip 的 2.配套插件/VOIDPlus 文件夹),上传至 /usr/plugins 目录后台启用即可。
下载安装后样式不对?
请一定通过发布版下载主题,下载 VOID-Plus-x.y.z.zip 压缩包,而不是 Source code。仓库里虽然也带了编译产物,但同时混有构建工具链等开发文件,直接使用容易踩到路径与缓存问题。
添加归档页面
新建独立页面,自定义模板选择 Archives,内容留空。
添加友情链接
新建独立页面,然后如此书写:
[links]
[示例站点](https://example.com)+(https://example.com/avatar.jpg)
[另一个示例](https://example.org)+(https://example.org/avatar.jpg)
[/links]
文章中、独立页面中都可以通过该语法插入类似的展示块。在某些 Typecho 版本中 HTML 会被转义后输出,请使用 !!! 包裹以上代码,例如:
!!!
[links]
···
[/links]
!!!
!!! 需要单独占一行。
图片排版
在文章中,使用 [photos][/photos] 包起来的图片可显示在同一行。例如:
[photos]


[/photos]
[photos]



[/photos]
在某些 Typecho 版本中 HTML 会被转义后输出,请使用 !!! 包裹以上代码,例如:
!!!
[photos]
···
[/photos]
!!!
!!! 需要单独占一行。
增强的 Markdown 语法
- 注音语法:
{{文本:zhu yin}},会渲染为:文本 - notice 提示块:
[notice]提示内容[/notice]
页面空白
- 首先检查是否有插件重复引入了 JQuery,若有,在插件设置页面关闭。
- 另外,推荐使用 PHP 7.0 及以上版本搭配 MySQL 数据库。PHP 5.6 或者更低版本以及其它数据库可能出现未知问题(并且我不会去修复)。
同开始使用,区别是你可以直接覆盖主题文件。大多数情况下无需禁用主题,这样你的主题设置就不会丢失。
某些版本由于改用幅度较大需要重启主题与插件,请参见对应版本的发布日志。
3.5.6 起主题目录更名为
VOID-Plus、配套插件目录更名为VOIDPlus。从旧版本升级请先在后台停用并删除旧主题与旧插件,再上传新目录,详见发布页中的「安装 / 升级步骤」。
robots.txt 是放在站点根目录(与 index.php 同级)的一个文本文件,用来告诉搜索引擎爬虫哪些路径不要收录。
它不是访问控制文件——被 Disallow 的路径依然可以直接访问,只是不被搜索引擎收录。
主题在 robots.txt.example 中提供了一份模板,默认规则是:
- 允许收录全站
- 不收录搜索结果页(
/search/、/?keyword=),避免重复内容 - 不收录后台(
/admin/)与动作入口(/action/) - 声明站点地图
Sitemap:地址
用法:把 robots.txt.example 复制一份到站点根目录并改名为 robots.txt,再把其中的 Sitemap: 地址改成你自己的实际路径(主题目录名不是 VOID-Plus 时需相应调整)。
不要把全站都
Disallow掉——那样文章将无法被搜索引擎收录。这个文件只影响「是否被索引」,不影响「能否访问」。
首先注意:我不保证提供任何自定义修改相关的指导与帮助。You are on your own.
展开详情
如果你有不错的想法,可以定制自己的版本。首先你需要准备好 NodeJS 环境,然后 clone 这个 repo:
git clone https://github.com/Geek0ne/VOID-Plus ./VOID-Plus && cd ./VOID-Plus安装依赖:
npm install -g gulp
npm install用以下命令打包依赖的 JS 和 CSS:
gulp dev主题的样式是用 SCSS 写的,你可以使用自己喜欢的方式编译 SCSS,或者使用:
gulp sass监听 SCSS 更改然后实时编译。尽请添加自己想要的功能,满意后就提交代码。然后:
gulp build构建你的主题,生成的主题位于 ./build 目录下。如果你对自己的更改很满意,欢迎提出 Pull Request。
编译产物已纳入版本管理:
assets/VOID-Plus.css、assets/bundle.css、assets/VOID-Plus.js、assets/bundle-header.js等构建产物随仓库一起提交,克隆后即可直接部署,无需先执行npm run build。但改动assets/VOID-Plus.scss后必须重新编译并一并提交产物,否则新样式不会生效(CI 目前不会校验两者是否同步)。
🍰 2026-11-11 Version 3.6.0
功能增强与工程基建版本:
- 新增:文章底部分享新增微信、QQ、Facebook、Instagram、Telegram、LinkedIn、Pinterest、Tumblr 八个平台
- 新增:分享支持一键复制文章链接,复制后浮层提示
- 调整:分享按钮点击不再弹出空白标签页
- 新增:404 页面重做,含站内搜索框、返回首页与返回上一页
- 新增:README 徽章补充 Typecho 版本、PHP 版本与最后提交时间
- 工程:CI 增加一致性校验,覆盖版本号、更新日志与 SCSS 和 CSS 同步
- 工程:引入 Dependabot,自动检查依赖更新
- 工程:新增贡献指南,规范开发流程与提交流程
🍰 2026-11-05 Version 3.5.7
功能更新、安全加固与问题修复:
- 安全:自定义字段(主图、摘要等)不再裸输出到 HTML 属性与 meta
- 安全:社交卡片 JSON-LD 的描述与摘要补上转义
- 安全:后台自定义字体的链接与字形样式改为白名单校验
- 兼容:Typecho 1.2 / 1.3 与 PHP 7.0 – 8.4 实测通过
- 改进:主题配置中的数值项统一按整型处理
- 修复:社交账号留空时不再输出空的 @ 符号
- 修复:文章主图链接未转义,作者填入含引号的链接会注入 HTML 属性
- 修复:高级设置 JSON 填写有误时触发 PHP 警告,且设置被静默忽略
- 修复:配套插件图片解析接口的参数未做整型转换
- 修复:插件中的全局错误屏蔽改为只影响单次调用
- 修复:版权声明中的链接文字比同行文字偏高
- 调整:页脚备案号改用国徽图片,替换原先的简化图标
- 修复:页脚备案号中间出现多余空格
- 修复:文章未设主图时社交卡片图片指向无效地址
- 调整:版权许可协议改为后台下拉选择,页脚与文章末尾自动按所选协议生成
- 调整:页脚版权说明独占一行居中显示,移动端同步适配
- 新增:后台可设置建站时间,页脚版权年份与感谢陪伴计时随之更新
- 修复:页脚陪伴计时首屏空白,要等脚本加载完才出现
- 修复:页脚陪伴计时与服务端相差一个时区偏移
- 修复:后台自定义字段的说明文字压住输入框
- 调整:后台「网站外观」的主题描述改为一句英文摘要
- 调整:移除主题目录下的 .htaccess,其仅作用于主题静态资源,对页面安全无实质作用
- 调整:修正前端检查脚本路径,特性清单补充新增功能
🍰 2026-10-30 Version 3.5.6
新增必要模块、样式规范优化与 Bug 修复:
- 新增:页眉右上角新增昼夜模式切换按钮,可在后台模式之外手动切换深浅色
- 新增:后台新增备案号设置,页脚显示带国徽图标的备案号并链接至工信部查询
- 新增:页脚与文章末尾新增版权说明,含 CC 官方图标与许可协议链接,文章内附本文链接与引用提示
- 修复:归档页文章链接全部为空,页面中还会混入 PHP 警告文本
- 新增:代码块右上角显示语言标签与一键复制按钮,语法高亮扩充至 60+ 种语言
- 新增:文章未设置主图时自动回退使用主题默认头图
- 调整:移动端文章正文字号调小两号(18px → 16px)
- 调整:正文链接未访问显示蓝色、已访问显示紫色,暗色模式同步适配
- 调整:样式改动同步维护于 SCSS 源码与编译产物,gulp 构建不会丢失
更多历史版本请查阅:版本更新日志
JQuery | PrismJS | MathJax | fancyBox | bigfoot.js | OwO | pjax | yue.css | tocbot | pangu.js | social | Headroom.js | hypher
VOID 原版 | RAW | Mirages | handsome | Card | Casper | Typlog | FORMA
MIT © Geek0ne
