hexo干货系列:(五)hexo添加站内搜索
前言
本来想用百度站内搜索,但是没成功,所以改用swiftype,用起来还是很棒的,这里分享一下我的安装步骤
正文
注册
去swiftype官网注册个账号,然后登陆,对了不要去在意30天试用,30天过了还能继续使用,网站给的是30天高级账户的使用(那种有可以建立多个搜索引擎、多账户共同管理、一个引擎index多个域名的功能的账户),降级成为免费的账户类型,但是还能使用。
Create an engine
登陆后选择开始开干,步骤大概如下
- 点击Create an engine
- 给你的网站建立一个索引
- 输入你的网址
- 起个名字




上面配置好后开始抓取你网站的数据,大概等了几分钟后,查看Manage下面的Content,就能看到抓取的一些目录和tag数据过来,如果你不想要的话可以手动删除。

install Search
接下来就是重头戏,如何安装插件,首先点击左下方的install Search,就会弹出插件的代码,先复制一下。这个就是一会要用到的插件代码。
说明一下,
swiftype提供两种方式,一种是弹出的方式,一种是新开一个页面的方式。前者默认就行,后者还要配置另外一推东西。我之前也按照网上别人帖子参考的写,结果一直不行。干脆不用了,用默认简单方便。

hexo的Pacman主题配置
接下来都是hexo这边配置,首先打开pacman主题下的_config.yml文件在末尾添加如下代码
swift_search:
enable: true
然后再切换的到\themes\jacman\layout_partial目录下,最后需要做的收尾工作全部都在这个目录下。
先打开header.ejs,找到
<% } else if(theme.baidu_search.enable){ %>
<form class="search" action="<%- theme.baidu_search.site %>" target="_blank">
<label>Search</label>
<input name="s" type="hidden" value= <%= theme.baidu_search.id %> ><input type="text" name="q" size="30" placeholder="<%= __('search') %>"><br>
</form>
直接替换成
<% } else if(theme.swift_search.enable){ %>
<form class="search" action="<%- config.root %>search/index.html" method="get" accept-charset="utf-8">
<label>Search</label>
<input type="text" id="search" class="st-default-search-input" maxlength="20" placeholder="Search" />
</form>
反正我也不会用baidu_search,所以直接替换无所谓,你要是还想保留,就直接添加else判断吧。
最后打开footer.ejs(其实header也行,随便你),在最后一个div标签之前添加一开始拷贝的那段js代码,我的是:
<script type="text/javascript">
(function(w,d,t,u,n,s,e){w['SwiftypeObject']=n;w[n]=w[n]||function(){
(w[n].q=w[n].q||[]).push(arguments);};s=d.createElement(t);
e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
})(window,document,'script','//s.swiftypecdn.com/install/v2/st.js','_st');
_st('install','Ts_hz24x26ZaNWfhsYwW','2.0.0');
</script>
大功告成,来看看什么效果吧,自己发布后打开博客,查询一个博客文章中出现的内容,效果如下:

上面查询的列表其实是之前在swiftype那边解析的文章列表,如果Content那边没有东西。那你这边查询不会有用的。
总结
好了,站内搜索搞定了,要不要使用你们自己决定。希望这篇文章对你有帮助~下篇计划写个网站统计插件的教程,我用的CNZZ。写完这篇已经凌晨1点了,明天还要上班,洗洗睡。
参考
更多教程可以来我嘟嘟独立博客里面看到
欢迎来访:嘟嘟独立博客
最近撸了个java的公众号,学习资源超级多,视频,电子书,最新开发工具一个都不能少,已全部分享到百度云盘,求资源共享,打造一个学习方便,工作方便的java公众号,开源开源,有需求的可以关注~撒花
hexo干货系列:(五)hexo添加站内搜索的更多相关文章
- 为帝国cms模板添加站内搜索小教程
由于客户的需要,最近都在整帝国cms,很多东西还是不熟悉,特别是帝国cms模板,以前用的那些网站模板一般是保存在ftp文件中,而帝国cms模板是直接保存在数据库中,修改是在网站后台的模板管理,得慢慢适 ...
- Hexo next主题添加站内搜索功能
根据关键字搜索博文,站内搜索的功能很实用.hexo开启站内搜索很方便,已经有现成的插件可以使用,也是为了方便自己 安装插件 npm install hexo-generator-search --sa ...
- 为CSDN博客添加站内搜索栏目
栏目代码 <div id="panel_Search"> <img src="http://img.blog.csdn.net/201707190247 ...
- hexo干货系列:(总纲)搭建独立博客初衷
前言 我是一名程序员,以前知识整理都是整理在为知笔记上,博客用的比较少,更别说是使用独立博客,因为不会... 2016年过年在家期间偶然的机会萌发了自己要搭建一个属于自己的独立博客的想法,于是就有了下 ...
- 完善dedecms站内搜索代码,为搜索结果添加第*页
自那些平凡而伟大的程序猿开发了内容管理系统(cms),为了让看客们更快地找到自己感兴趣的内容,他们不断完善站内搜索代码,形成了一个小型的站内搜索引擎.可能有些网站模板设计师没考虑到seo的问题,很多站 ...
- 一步步开发自己的博客 .NET版(5、Lucenne.Net 和 必应站内搜索)
前言 这次开发的博客主要功能或特点: 第一:可以兼容各终端,特别是手机端. 第二:到时会用到大量html5,炫啊. 第三:导入博客园的精华文章,并做分类.(不要封我) 第四:做 ...
- Lucene.Net 站内搜索
Lucene.Net 站内搜索 一 全文检索: like查询是全表扫描(为性能杀手)Lucene.Net搜索引擎,开源,而sql搜索引擎是收费的Lucene.Net只是一个全文检索开发包(只是帮我们 ...
- es站内站内搜索笔记(一)
es站内站内搜索笔记(一) 第一节: 概述 使用elasticsearch进行网站搜索,es是当下最流行的分布式的搜索引擎及大数据分析的中间件,搜房网的主要功能:强大的搜索框,与百度地图相结合,实现地 ...
- Lucene.net站内搜索—6、站内搜索第二版
目录 Lucene.net站内搜索—1.SEO优化 Lucene.net站内搜索—2.Lucene.Net简介和分词Lucene.net站内搜索—3.最简单搜索引擎代码Lucene.net站内搜索—4 ...
随机推荐
- 分区表,磁盘概念和parted的使用
分区表,磁盘概念和parted的使用 登录陌生系统首先要做的事: 个人认为,首先得知道Linux版本的什么:cat /etc/issue df:查看磁盘的分区和数据的分配情况,类型(NFS,ext4. ...
- springboot 配置Ehcache
Ehcache的基本配置说明我就不说了.小编记录一下在springboot中使用Ehcache的使用方法. 第一步:在classpath下引入配置文件ehcache.xml 代码如下: <ehc ...
- PHP 讓 json_encode() 指定回傳格式
PHP 回傳 JSON 很方便, 只要將資料經過 json_encode() 就解決了. 不過因為 PHP 自動轉換型別, 造成很多資料都習慣存成字串, 希望在輸出 JSON 的時候, 數字部份可以輸 ...
- Git之提交项目到远程github
1.在分支dev下,默认本地工作区有项目project 2. git add project [添加项目到暂存区] 3. git commit project -m "提交项目" ...
- 初识Vivado
Vivado 设计套件包括高度集成的设计环境和新一代从系统到 IC 级的工具,这些均建立在共享的可扩展数据模型和通用调试环境基础上.这也是一个基于 AMBA AXI4 互联规范.IP-XACT IP ...
- Netbeans Makefile: recipe for target 'XXX' failed 运行failed(退出值 -1073741511 找不到C/C++库文件,关键字
今天不知怎么的又出错了 吐血了 找不到NULL new等关键字了 看到知乎上有人和我一个问题,怎么办?很简单卸载了以前的cygwin和netbeans然后重装,我重装时没有把以前的cygwin ...
- VINS-Fusion代码阅读(四)
pts_i和pts_j:具体指什么含义?(分别为第l个路标点在第i, j个相机归一化相机坐标系中的观察到的坐标,P¯¯¯cil \bar{P}^{c_i}_l Pˉ lc i 和 P¯¯¯cjl ...
- 20针,14针,10针JTAG引脚对应关系
J-Link是常用的调试工具,用于程序的调试和下载.常用的J-Link的的接口有很多种,常见的有20针,14针和10针. J-Link可以使用JTAG方式下载调试程序,也可以使用SWD方式.从引脚方面 ...
- uva1228 Integer Transmission
这道题思维很灵活.也有点套路的意思. 首先规定0,1分别按照原来的顺序接收,只是01换位.这样简化了思维.(否则并不会有更优结果它.,比较好想)最大值和最小值可以贪心得到.那么接下来就是给定一个整数P ...
- SQL 中 NOT IN 查询不到数据
一.问题 用以下sql语句查询数据,结果为空 SELECT a.ID , a.Sub_Project_Name , a.Sub_Project_Type FROM TB_KYSubProject a ...