看社区有一些人将版本升级到了 1.3 开发版,我自己也跟进了一下,将主题和插件陆续迁移至 1.3 版本。主题其实没有过多变动,就是遇到了些 bug,但是可以通过别的方法绕过。有些插件也年久失修,有的插件作者自己可能都不使用 Typecho 了。作为 Typecho 的忠实使用者,我将我常用的插件中在 Typecho 1.3 不能用的,自己翻新了下,也开源给各位使用。
主题
主题其实没什么变更的,但我自己有点计划。前段时间主题我是想开源的,但是一想到某些建站三分热度的人,我自己就会内耗。最近在做这些插件并开源时,我就在想要不我只开源主题的一小部分,作为插件,也算是开源,内耗程度可能比直接开源整个主题更好。
如果我真的开源插件的话,第一个开源的就是代码块了。在本主题中,它没有借助任何插件,纯 js 实现。如果要通过插件实现的话,可能 1.3 版本的 Typecho 用不了(见 1.3 版本 bug),所以只能在 1.2 中使用。
ImQi1 小程序
本站小程序其实前段时间就发布了,主页加了扫码处,更新日志也写了。
感兴趣的可以扫描下方小程序码体验,小程序目前支持文章显示、代码块高亮和评论。截止此文章发布前,小程序有一个更新了配色的版本刚提交审核,需要过段时间才能上线,现在各位看到的是第一版,即绿色版本。

Typecho 1.3 bugs
Typecho 1.3 有两个 bug。第一个就是文章的钩子已经注册成功,但是函数没有被调用。
<?php Plugin::factory("\Widget\Base\Contents")->contentEx = "contentEx";<?php function contentEx(string $content, \Typecho\Widget $widget): string {...}解决方法很简单,将正文的
<?php $this->content();换成
<?php echo contentEx($this->content, $this);第二个 bug 就是在主题的设置页面,若输入框传了默认参数,在尝试修改设置时,该设置项始终是默认参数。也就是说修改一定不成功。
<?php
use ...
function themeConfig(Form $form): void
{
$homeAnnounce = new Textarea(
'homeAnnounce', NULL,
NULL,
_t('首页自定义文字'),
_t('<p class="description">...</p>'));
$form->addInput($homeAnnounce);
}如果第三个参数传了别的值,那么这个设置项将永远是这个值。解决方式就是我在页面加了一个按钮,点击按钮后一键设置默认值。
最后介绍一下我自己修改后的几个插件,都适用于 1.3 ,本站正在用的。
插件列表
这些是我目前使用的插件。
| 插件名 | 描述 | 作者 |
|---|---|---|
| BaiduTextCensor | 在 Typecho 中加入百度文本内容审核,过滤评论中的敏感内容。 | 沈唁 |
| CommentNotifier | Typecho 评论通过时发送邮件提醒,要求 Typecho 1.2.0 及以上。 | 泽泽社长 |
| RoutesHelper | 路由助手 - Typecho 1.3 | 棋 |
| Sitemap | Google Sitemap 生成器 | 迷你日志,Hanny |
| TagHelper | 适用于 Typecho 1.3,后台编辑文章时增加标签选择列表 | 棋 |
| UpyunFile | 又拍云(UpYun)文件管理,适用于 Typecho 1.3 | 棋 |
其中作者不是我的,直接去下载对应的插件就可以,是完美支持 Typecho 1.3 的。有一些不适合 Typecho 1.3 的,我自己拿来并且做了简单的维护。
插件 RoutesHelper
这个插件是老牌插件了,可以自定义的修改网站的各种路由。我在原来的基础上,完善了对 Typecho 1.3 的支持,新增了备份路由和还原路由功能,保留了恢复回默认路由的功能。
项目地址:https://github.com/imqi1-github/typecho-plugin-RoutesHelper
插件 UpyunFile
这个是又拍云外链插件,可以在文章编辑器中粘贴图片一键上传。原来的 UpyunFile 插件在 Typecho 社区经历了几次转手,每个开发者都有维护,我也不知道最初的开发者是谁。这个插件是我在我的服务器中复制的,也没有 README,不知道作者是谁,所以就直接拿来开发了。
项目地址:https://github.com/imqi1-github/typecho-plugin-UpyunFile
和上一个插件一样,我也给这个插件加了备份设置和还原的功能,方便各位升级插件时能够保存设置。
插件 TagHelper
这个插件是泽泽社长开发的,作用就是在文章选择标签的时候能找到已添加的标签。他本人现在貌似不再使用 Typecho 了,但是还在维护一个 Typecho 社区。这个项目我没什么大改动,就是做了一个重命名,用我的和用他的效果一样。
项目地址:https://github.com/imqi1-github/typecho-plugin-TagHelper
更新真是太痛苦了,再等等