• 文章介绍
  • 更新记录
  • 评价建议
  • 插件故事

    TeStore最初诞生于博友蚂蚱(ShingChi)13年底创建的GitHub组织Typecho-Fans(以下简称TF),当时那里主要用于存放肥皂群大大们的各种插件主题作品。14年我加入时为群设计了logo和主页,后来随着几位元老管理都不再活跃TF也归于沉寂。

    TeStore:Typecho插件仓库插件插图

    17年我又重新整理其中的部分作品,发现车坤的AppStore在几经调整后也关闭了源站。与TeStore一样,没了抓取和储存zip包的服务端,似乎所有非官方扩展商店都难逃寿终正寝的结局。

    后来在翻看他们的代码时,一段简单的正则匹配表格部分偶然间启发到了我。因为TF的README文档就是用表格来记录作品信息的,如果直接抓取其内容做列表数据,那稳定的GitHub岂不就能做永久服务端了?虽然要人工手写但更新频率也不高,TF便是这么记过来的,以Markdown语法的确简单易行。这样作者们主动更新表格,其他成员随时补充,有点像wiki接力的意思。

    TeStore:Typecho插件仓库插件插图2

    于是乎在此理念的驱动下,我把尘封已久的TeStore又拿出来仔细翻新了一遍。除配合表格内容更新为5栏列表并用releases实现各个zip包的单独寄存外,还在原作基础上大幅改进了安装机制,可以适应不同打包情况做到准确解压。由于GitHub国内访问速度时有波动,页面我做了ajax加载效果,完成即可在本地生成缓存,之后无论分页还是搜索便能飞速响应;再加上些图标标记和版本升级提示效果……如此这般,Typecho首个免服务端插件商店终于被我满血复活~

    TeStore:Typecho插件仓库插件插图4

    由于所有插件信息都读取自TF目录下的两个MD格式文档,也算是让这个GitHub上最大的非官方Typecho组织有了新的使命与动力。过去由群内作者自发上传的近百款插件主题被重新定位为“社区维护版”,以和外部仅登记下载链接的插件或其他修改分支相区别,其实也更符合TF这些年偶尔有多人自发翻新其中老作品的实际效用。现在那些能保持活跃的新作更多被鼓励仅添加信息到TESTORE.md里,即只需按格式写入稳定的zip包下载地址就能让用户在TeStore里一键安装到了。

    当然,TF的插件目录依然接受新作上传。如README.md里注明的,由于组织内源码可由所有成员任意修改,如果作者不在意或已放弃维护,存在这里可能是个不错的主意。虽然实际参与接力维护的人还不多,也已经有好几个多作者署名使老插件重生的成功案例了。“社区维护版”的可用指数更高,或许对插件数量一般的Typecho是个好现象。

    TeStore:Typecho插件仓库插件插图6

    承蒙70和版主大大关照,新版TeStore在官方论坛发布后马上即被提为置顶。目前在大家的热心提交下收录插件总数已经达到220余款。我也在今年回归后决定继续大幅更新一波,修复上一版遗留的bug,重点改善下读取速度的问题——

    目前除TF外插件作品集中地还有官方GitHub的plugins目录、wiki的插件列表和小夜的插件专题站等。

    之前同名插件安装只走第一款的bug现在已经连同非管理员可查看列表页等安全问题一并修复。1.1.4版中从按钮样式到操作提交及反馈效果都回归原汁原味的系统风格;解压缩功能也抛弃掉庞大陈旧的pclzip库使用原生的ZipArchive方法,在格式判断与升级清理等方面增加了更严谨的处理。

    最新版的显著改变在于针对国内用户反应GitHub有时被墙造成难以使用的问题开始全面整合jsDelivr和GitCDN两家镜像代理服务。开启后不仅列表数据几乎能做到秒读,zip包也会优先下载TF内加速专用目录ZIP_CDN下的镜像文件地址,使响应速度和成功率大幅提高。所以大家登记插件信息时最好也在ZIP_CDN里放一份zip(重名插件用名称_作者名区别),这样就能让开启相关功能的小伙伴们加速下载了。

    强烈推荐使用jsDelivr,因为是官方主打的镜像功能,国内节点很多;GitCDN虽然由CloudFlare赞助但脚本是个人作者写的,稳定性和同步速度表现不甚理想。

    以上便是大致的更新说明了。今后这个基于TF目录文档的数据源能否保持长期可用还需要大家共同监督与维护,希望新版TeStore能长期造福于TE用户吧!有问题或建议可以提issues,我会在有余力的情况下继续跟进插件与TF目录的维护工作。:)


    插件截图

    TeStore:Typecho插件仓库插件插图8
    本站所提供的主题和插件等资源及信息均搜集自互联网,我们无法保证所提供资源的安全性、可用性、可靠性、稳定性,用户在下载后及使用前需对其进行安全检测和漏洞分析,因使用本站提供的资源所导致的任何损失(包括但不限于:服务器被入侵、服务器感染木马病毒、网站被挂马、网站内容或文件被篡改、服务器被留下后门、服务器数据丢失、网站数据丢失等)全部由用户自行承担,本站不承担任何法律责任及连带责任。
    79UI网 » TeStore:Typecho插件仓库插件
    06月14日2020年
    • 修正非CDN下表格源码解析bug;
    • 作者信息全取html提高兼容性;
    • 本地信息过滤标签提高准确性;
    • 列表页筛选功能支持作者名称。
    06月10日2020年
    • 列表顶部可分标签显示已安装;
    • 列表图标改为清晰的SVG格式;
    • 美化按钮样式点击提示插件名;
    • 安装删除由ajax改为同步post;
    • 使用系统反馈效果移除sticky;
    • 安装增加目录检测和升级清理;
    • 用PHP原生解压缩移除pclzip;
    • data移入cacert转为常规目录。
    06月07日2020年
    • 优化代码清除冗余增强可读性;
    • 修正路由访问漏洞提高安全性;
    • 修复同名插件只安装第1个bug;
    • 可选jsDelivr/GitCDN镜像加速;
    • 表格或zip为raw地址自动加速;
    • 加速时优先下载ZIP_CDN文件;
    • API检测ZIP_CDN目录支持缓存。
    08月20日2018年
    • 新增cURL下载方式选项与验证;
    • cURL方式下支持SSL证书识别;
    • 使用转码hack改善中文兼容性;
    • 修正解析http源主页链接问题;
    • 修正作者链接为空时报错问题。
    08月07日2018年
    • 修正PHP7兼容和DOM编码问题;
    • 修正多人作者时链接解析问题;
    • 修正父文件夹/单文件插件判断;
    • 优化报错反馈和缺省筛选效果。
    08月05日2018年
    • 用PHP DOM解析HTML表格作源;
    • 异步加载列表并更新缓存逻辑;
    • 按字母排序且已安装自动提前;
    • 支持列表的分页和按简介筛选;
    • 支持附加图标和提醒版本升级;
    • 安装可递归扫描智能判断路径;
    • 优化ajax效果增加action校验。
    11月13日2014年
    • 正则匹配读取新浪云服务端页面,
    • ajax方式实现下载、安装及卸载功能,
    • 列表支持缓存和名称筛选。

    发表评论