最近天气转凉,正适合宅在家里折腾点小东西。这次的目标很明确:给博客加一个不依赖后端的全文搜索。
为什么选 Pagefind
静态博客做搜索,方案无非三种:客户端全量加载索引、调用外部服务、或者构建期生成索引。Pagefind 属于第三种,优点很明显:
- 构建期索引:
pnpm build时自动扫描产物并分片,搜索时按需加载,首屏零负担; - 中文友好:内置了对 CJK 分词的处理,不用担心搜不到中文;
- 零后端:索引就是一堆静态文件,托管到任何平台都能跑。
接入只花了十分钟
bash
pnpm build && pnpm pagefind --site dist在页面里初始化:
js
new PagefindUI({
element: "#search",
showSubResults: true,
});剩下的时间都花在了细节上:键盘上下键导航结果、Esc 关闭弹窗、深浅色模式的样式适配,以及给空状态画了个搜索图标。
周末的正确打开方式
泡一杯茶,开着自己喜欢的编辑器,把一个小功能从头到尾打磨完整——这种沉浸感是平时赶工期时很难体会到的。折腾的意义不在于结果多宏大,而在于过程中的心流。
如果你也想给自己的博客加搜索,强烈推荐试试 Pagefind,真的非常省心。
评 论
0以 身份评论
还没有评论,来抢沙发吧~