总字数 1k
预计阅读时间 5 分钟
在hexo博客中 , 可以添加站内文章搜索的支持
但是需要生成所有文章的索引
安装hexo官方提供的插件
1 | npm install hexo-generator-search --save |
默认只索引post , 要索引所有文章 , 需要在_config.yml当中配置
1 | search: |
之后访问/search.xml
就可以获取到文章的索引了
大致是如下结构
1 | <search> |
其中的一个entry是一篇文章的信息
可以在JS当中使用ajax获取到这段XML文本 , 然后进行解析处理 , 从而做出站内搜索的功能
需要注意的是content部分是html文本 , 在处理当中需要把html标签去除
以下是借助Vue实现的自动渲染搜索结果列表的代码
1 | (function(){ |
这里借助axios实现ajax请求 , 当然也可以用别的 , 或者使用原生的写法
然后在页面的适当位置中编写搜索input与搜索结果框的html
1 | <div id="search-box"> |
之后编写相应的样式就可以了