Typecho 实时搜索功能插件 ExSearch
插件简介
ExSearch是由熊猫小A写的一个Typecho搜索扩展功能插件,可以实时的搜索网站内容,主要原理就是利用静态文件的缓存将文章数据缓存在前台,然后查询在本地浏览器完成。该插件支持搜索实时响应、高亮与预览功能。
插件使用
- 下载插件,解压文件夹,并将文件夹重命名为 ExSearch。
- 上传至插件目录,在后台启用
- 保存一次插件设置,并点击重建索引。
- 在主题中,在任何可点击的元素上加上
class="search-form-input"
,点击即可唤起搜索框。
自定义 hook
默认的,点击搜索结果时会直接跳转至对应的页面,但是若你的主题使用了 AJAX 或者 PJAX 技术,你可能需要使用自定义的钩子来处理点击事件(例如发起一次 PJAX 操作)。在页面中插入一个函数如下:
<script>
function ExSearchCall(item){
// your code
}
</script>
其中,item 是一个 JQuery 对象。举例:
function ExSearchCall(item){
if (item && item.length) {
$('.ins-close').click(); // 关闭搜索框
let url = item.attr('data-url'); // 获取目标页面 URL
$.pjax({url: url,
container: '#pjax-container',
fragment: '#pjax-container',
timeout: 8000, }); // 发起一次 PJAX 请求
}
}
可能的问题
如果你的站点内容过多导致建立索引失败,请在 Plugin.php 第 136 行左右的位置,取消下面两行的注释:
$sql = 'SET GLOBAL max_allowed_packet=4294967295;';
$db->query($sql);
注意,这需要高级权限。你也可以手动对数据库执行:
mysql > SET GLOBAL max_allowed_packet=4294967295;
下载地址
不过好久没更新了吧这个插件,ty1.2已经用不了了,需要自己改
谢谢反馈!
是的,这个是熊猫小A的void主题的适配插件,属于早期的插件了,本身对于其他主题就是要修改的