Skip to content
Geek0nePublic

About

Typecho 主题 VOID-Plus —— 增强改进的现代化版。适配 Typecho 1.3 / PHP 8.x,基于 AlanDecode/Typecho-Theme-VOID 独立维护。

Topics

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

59 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

VOID-Plus

✏ 一款简洁优雅的 Typecho 主题

本仓库是由 Geek0ne 独立维护的增强改进版,在原版基础上持续维护,加入了安全加固、Typecho 1.3 / PHP 8.x 兼容等改进。

作为计算机术语时,VOID-Plus 的意思是「无类型」。

Build    release    Typecho    PHP    last commit    license

特性

原介绍文章:VOID:现在可以公开的情报,原作者 熊猫小A / AlanDecode,主题设计归原作者所有。

  • 响应式设计
  • PJAX 无刷新体验
  • AJAX 评论
  • 前台无跳转登陆(兼容 PJAX)
  • 自动夜间模式
  • 优秀的可读性
  • 衬线、非衬线两种文字风格
  • 代码高亮(浅色暗色两种风格,随主题切换)
  • Mac 风格代码块(可开启或关闭)
  • 代码行号
  • 站点样式设置面板(日夜转换、字体、字号)
  • MathJax 公式
  • 表情解析(文章、评论可用)
  • 图片排版(可用作相册)
  • 图片懒加载
  • 灵活的头图设置
  • 文章目录解析
  • 完整的结构化数据支持
  • 够用的后台设置与丰富的高级设置
  • 页眉右上角昼夜模式切换按钮(可手动覆盖后台模式)
  • 网站备案号显示(带国徽图标,链接至工信部查询)
  • 版权说明(页脚与文章末尾,附许可协议链接)
  • 建站时间设置(页脚版权年份与「感谢陪伴」计时随之更新)

结合附带的配套专用插件,还有更多功能:

  • 浏览量统计
  • 文章点赞
  • 文章字数统计
  • 评论投票与自动折叠
  • 访客互动展示

以及其他很多细节,总之用起来还算舒服。这里有一个示例页面,可以看到 VOID-Plus 对常用写作元素的支持以及一些特色功能演示。

开始使用

  1. 下载主题:发布版,注意是下载 VOID-Plus-x.y.z.zip 这个压缩包,而不是 Source code
  2. 解压
  3. 将主题文件夹下的 VOID-Plus 文件夹上传至站点 /usr/themes 目录下
  4. 后台启用主题
  5. 将配套插件文件夹下的 VOIDPlus 文件夹上传至站点 /usr/plugins 目录下
  6. 后台启用插件
  • 可选:将主题 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]
![](https://cdn.imalan.cn/img/post/2018-10-26/IMG_0073.jpeg)
![](https://cdn.imalan.cn/img/post/2018-10-26/IMG_0053.jpeg)
[/photos]

[photos]
![](https://cdn.imalan.cn/img/post/2018-10-26/IMG_0039.jpeg)
![](https://cdn.imalan.cn/img/post/2018-10-26/IMG_0051.jpeg)
![](https://cdn.imalan.cn/img/post/2018-10-26/IMG_0005.jpeg)
[/photos]

在某些 Typecho 版本中 HTML 会被转义后输出,请使用 !!! 包裹以上代码,例如:

!!!
[photos]
···
[/photos]
!!!

!!! 需要单独占一行。

增强的 Markdown 语法
  • 注音语法:{{文本:zhu yin}},会渲染为:文本 (zhu yin)
  • notice 提示块:[notice]提示内容[/notice]
页面空白
  • 首先检查是否有插件重复引入了 JQuery,若有,在插件设置页面关闭。
  • 另外,推荐使用 PHP 7.0 及以上版本搭配 MySQL 数据库。PHP 5.6 或者更低版本以及其它数据库可能出现未知问题(并且我不会去修复)。

更新

同开始使用,区别是你可以直接覆盖主题文件。大多数情况下无需禁用主题,这样你的主题设置就不会丢失。

某些版本由于改用幅度较大需要重启主题与插件,请参见对应版本的发布日志。

3.5.6 起主题目录更名为 VOID-Plus、配套插件目录更名为 VOIDPlus。从旧版本升级请先在后台停用并删除旧主题与旧插件,再上传新目录,详见发布页中的「安装 / 升级步骤」。

robots.txt

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

License

MIT © Geek0ne

About

Typecho 主题 VOID-Plus —— 增强改进的现代化版。适配 Typecho 1.3 / PHP 8.x,基于 AlanDecode/Typecho-Theme-VOID 独立维护。

Topics

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages