Typecho default-ultra 主题使用说明与注意事项

主题安装说明温馨提示:该主题仅在 Typecho 1.2.1、PHP 56 ~ PHP84、MySQL 56 ~ MySQL 84、PostgreSQL 17.6、SQLLite 环境下测试通过,其他情况未作太多测试,如有问题可与我反馈。推荐环境:Typecho 1.2.1、OpenResty/Nginx、PHP 8.4.6、MySQL 8.4.6。主题安装步骤:1、安装 Typecho 程序。如未安装 Typecho,请先参考:https://www.typecho.org/2、在 Github 上下载最新的主题文件压缩包。3、将主题文件压缩包上传至 Typecho 程序/usr/themes/ 目录下。4、解压主题文件压缩包,并将解压后的文件夹命名为 default-ultra。5、进入 Typecho 后台 - 控制台 - 外观 - 可以使用的外观,启用 default-ultra 主题。6、进入 Typecho 后台 - 控制台 - 外观 - 设置外观,配置主题参数。主题启用或更新后,一定要根据自己的实际需求配置主题参数,否则大部分功能可能无法生效。配套插件说明1.ip2reg

Typecho 主题功能适配 SQLLite 和 PostgreSQL 的解决方案

最近在制作 Typecho default-ultra 主题,在这个主题中我加入了输出随机文章的功能。代码片段如下:$select = $this->select()->from('table.contents') ->where('table.contents.password IS NULL OR table.contents.password = ""') ->where('table.contents.status = ?', 'publish') ->where('table.contents.created <= ?', time()) ->where('table.contents.type = ?', 'post') ->limit($this->parameter->limit) ->order(&

Typecho 文章字数统计的规则思考与解决方案

最近在制作 Typecho default-ultra 主题,在这个主题中我加入了对文章字数统计的功能。此前我也参考了其他优秀的开发者的文章字数统计方式,我自己也优化了好几次。文章字数统计,看起来是一个很简单的小功能,为什么值得被优化好几次?其实原因很简单,现存的方案统计出来的结果,与预估结果误差太大。先看看现有的文章字数统计方案。方案 1:源自百度搜索结果。function count($cid) { // 方法传入文章cid,然后根据cid从数据库中获取文章的内容 $db = Typecho_Db::get(); $row = $db->fetchRow ($db->select ('table.contents.text')->from ('table.contents')->where ('table.contents.cid = ?', $cid)->order ('table.contents.cid', Typecho_Db::SORT_A

修复 Typecho 外观设置时复选框无法保存的问题

最近在制作 Typecho default-ultra 主题,为这个主题添加了一些配置项。但是在 Typecho 1.2.1 中测试时出现了复选框无法勾选保存的情况。查阅 Typecho Issue,发现也有类似的问题:https://github.com/typecho/typecho/issues/1590在 Typecho 最新的开发版中,此问题已修复。但是 Typecho 官方还没有发布最新的正式版,仍然使用 1.2.1 版的话需要手动修复一下复选框无法保存的问题。定位至 /var/Widget/Themes/Config.php,大约在第 74 行左右将其修改为: public function config(): Form { $form = new Form($this->security->getIndex('/action/themes-edit?config'), Form::POST_METHOD); themeConfig($form); $inputs = $form->getIn

使用 1panel 私有化部署 Umami 为网站添加访客统计

早些年我对于网站访客统计的工具,一直用的是 Google Analytics,后来转战 CNZZ,然后转战 51LA,最后转战百度统计...近几年也一直在用百度统计,直到最近有小伙伴给我安利了一款开源私有化部署的统计工具 - Umami。Umami 是一款开源且注重隐私的网站分析工具,可替代 Google Analytics。它提供网站流量和用户行为等见解,但不使用 Cookie 或收集个人数据,符合隐私法规。Umami 轻巧易用,可自行托管。Umami Github:https://github.com/mikecao/umamiUmami 文档:https://umami.is/docs/about因为我的服务器一直用的是 1Panel 面板,在 1Panel 面板的应用商店中就可以直接安装 Umami 了。Umami 支持 Redis 作为缓存层以提高性能。Umami 安装完成后,可以为其配置 Redis 数据库,当然也可以忽略这一步,不配置 Redis 的话影响不大。Umami 官方文档中提到,要启用 Umami,需要添加环境变量。REDIS_URL=redis://usern

学校机房母盘系统封装与主机系统安装

近阶段,学校的两间技能鉴定站机房在做维护,因为某些原因,不得不给机房里面的电脑来了一波大换血,换完血了又得给这一些电脑重做系统,配置考试环境...一想到遥远的上一次做维护,那可是一台一台重做系统,一台一台配置考试环境,两间机房一共 80 台电脑,因为各种原因,整了快半个月才整完...这一次,我决定走系统封装这一条道路,先做一个带有完整考试环境的系统母盘,然后准备 N 个启动盘,给这 80 台电脑重做系统,这样就省去了一台一台配置考试环境的工作压力,也能统一系统、统一环境,维护效率应该能翻倍 :)直接开干!先做 PE 启动盘:由于机房的电脑大部分都比较有年代感,这里我选择的 PE 系统是微 PE 1.3(https://www.wepe.com.cn/download.html),适合老机器。找一个像样一点的 U 盘,直接把 PE 搞进去。另外找一台用于制作母盘的主机,安装好纯净 Windows 7 专业版操作系统,并安装、激活、配置好极域电子教室、Office 2010、Photoshop CS 6、VMWare 12、WPS Office 教育考试专用版、Chrome、金山打字通、W

业务系统绑定的微信服务号迁移后,用户 openid 的处理与转换

公司有一组业务系统绑定了微信服务号,最近因为运营主体调整,旧的微信服务号要迁移到新的微信服务号上,于是产生了一系列问题。业务系统中的用户只能使用微信授权登录,所以数据库中存储了用户的 openid。而每一个微信号对于不同的微信服务号,openid 都是不同的,而且服务号迁移后,用户的 openid 会发生变化。虽然说微信有 unionid 机制(unionid 机制说明:https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/union-id.html),但是由于种种不可抗力的原因,所有的微信服务号都没办法绑定到微信开放平台上,也获取不到 unionid,因此只能另外想办法,使服务号迁移后,业务系统中用户的 openid 也随之换新。好在微信官方提供了 openid 转换接口,支持服务号建立迁移关系后,将旧 openid 转换为新 openid 的功能。openid 转换接口说明:https://kf.qq.com/faq/1901177NrqMr190117nqYJze.html需要注意,转换 o

目录