前言

本来想用百度站内搜索,但是没成功,所以改用swiftype,用起来还是很棒的,这里分享一下我的安装步骤

正文

注册

去swiftype官网注册个账号,然后登陆,对了不要去在意30天试用,30天过了还能继续使用,网站给的是30天高级账户的使用(那种有可以建立多个搜索引擎、多账户共同管理、一个引擎index多个域名的功能的账户),降级成为免费的账户类型,但是还能使用。

Create an engine

登陆后选择开始开干,步骤大概如下

  1. 点击Create an engine
  2. 给你的网站建立一个索引
  3. 输入你的网址
  4. 起个名字







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

install Search

接下来就是重头戏,如何安装插件,首先点击左下方的install Search,就会弹出插件的代码,先复制一下。这个就是一会要用到的插件代码。

说明一下,swiftype提供两种方式,一种是弹出的方式,一种是新开一个页面的方式。前者默认就行,后者还要配置另外一推东西。我之前也按照网上别人帖子参考的写,结果一直不行。干脆不用了,用默认简单方便。

hexo的Pacman主题配置

接下来都是hexo这边配置,首先打开pacman主题下的_config.yml文件在末尾添加如下代码

  1. swift_search:
  2. enable: true

然后再切换的到\themes\jacman\layout_partial目录下,最后需要做的收尾工作全部都在这个目录下。

先打开header.ejs,找到

  1. <% } else if(theme.baidu_search.enable){ %>
  2. <form class="search" action="<%- theme.baidu_search.site %>" target="_blank">
  3. <label>Search</label>
  4. <input name="s" type="hidden" value= <%= theme.baidu_search.id %> ><input type="text" name="q" size="30" placeholder="<%= __('search') %>"><br>
  5. </form>

直接替换成

  1. <% } else if(theme.swift_search.enable){ %>
  2. <form class="search" action="<%- config.root %>search/index.html" method="get" accept-charset="utf-8">
  3. <label>Search</label>
  4. <input type="text" id="search" class="st-default-search-input" maxlength="20" placeholder="Search" />
  5. </form>

反正我也不会用baidu_search,所以直接替换无所谓,你要是还想保留,就直接添加else判断吧。

最后打开footer.ejs(其实header也行,随便你),在最后一个div标签之前添加一开始拷贝的那段js代码,我的是:

  1. <script type="text/javascript">
  2. (function(w,d,t,u,n,s,e){w['SwiftypeObject']=n;w[n]=w[n]||function(){
  3. (w[n].q=w[n].q||[]).push(arguments);};s=d.createElement(t);
  4. e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
  5. })(window,document,'script','//s.swiftypecdn.com/install/v2/st.js','_st');
  6. _st('install','Ts_hz24x26ZaNWfhsYwW','2.0.0');
  7. </script>

大功告成,来看看什么效果吧,自己发布后打开博客,查询一个博客文章中出现的内容,效果如下:

上面查询的列表其实是之前在swiftype那边解析的文章列表,如果Content那边没有东西。那你这边查询不会有用的。

总结

好了,站内搜索搞定了,要不要使用你们自己决定。希望这篇文章对你有帮助~下篇计划写个网站统计插件的教程,我用的CNZZ。写完这篇已经凌晨1点了,明天还要上班,洗洗睡。

参考

利用swiftype为hexo添加站内搜索v2.0


更多教程可以来我嘟嘟独立博客里面看到

欢迎来访:嘟嘟独立博客


最近撸了个java的公众号,学习资源超级多,视频,电子书,最新开发工具一个都不能少,已全部分享到百度云盘,求资源共享,打造一个学习方便,工作方便的java公众号,开源开源,有需求的可以关注~撒花

hexo干货系列:(五)hexo添加站内搜索的更多相关文章

  1. 为帝国cms模板添加站内搜索小教程

    由于客户的需要,最近都在整帝国cms,很多东西还是不熟悉,特别是帝国cms模板,以前用的那些网站模板一般是保存在ftp文件中,而帝国cms模板是直接保存在数据库中,修改是在网站后台的模板管理,得慢慢适 ...

  2. Hexo next主题添加站内搜索功能

    根据关键字搜索博文,站内搜索的功能很实用.hexo开启站内搜索很方便,已经有现成的插件可以使用,也是为了方便自己 安装插件 npm install hexo-generator-search --sa ...

  3. 为CSDN博客添加站内搜索栏目

    栏目代码 <div id="panel_Search"> <img src="http://img.blog.csdn.net/201707190247 ...

  4. hexo干货系列:(总纲)搭建独立博客初衷

    前言 我是一名程序员,以前知识整理都是整理在为知笔记上,博客用的比较少,更别说是使用独立博客,因为不会... 2016年过年在家期间偶然的机会萌发了自己要搭建一个属于自己的独立博客的想法,于是就有了下 ...

  5. 完善dedecms站内搜索代码,为搜索结果添加第*页

    自那些平凡而伟大的程序猿开发了内容管理系统(cms),为了让看客们更快地找到自己感兴趣的内容,他们不断完善站内搜索代码,形成了一个小型的站内搜索引擎.可能有些网站模板设计师没考虑到seo的问题,很多站 ...

  6. 一步步开发自己的博客 .NET版(5、Lucenne.Net 和 必应站内搜索)

    前言 这次开发的博客主要功能或特点:    第一:可以兼容各终端,特别是手机端.    第二:到时会用到大量html5,炫啊.    第三:导入博客园的精华文章,并做分类.(不要封我)    第四:做 ...

  7. Lucene.Net 站内搜索

    Lucene.Net 站内搜索 一  全文检索: like查询是全表扫描(为性能杀手)Lucene.Net搜索引擎,开源,而sql搜索引擎是收费的Lucene.Net只是一个全文检索开发包(只是帮我们 ...

  8. es站内站内搜索笔记(一)

    es站内站内搜索笔记(一) 第一节: 概述 使用elasticsearch进行网站搜索,es是当下最流行的分布式的搜索引擎及大数据分析的中间件,搜房网的主要功能:强大的搜索框,与百度地图相结合,实现地 ...

  9. Lucene.net站内搜索—6、站内搜索第二版

    目录 Lucene.net站内搜索—1.SEO优化 Lucene.net站内搜索—2.Lucene.Net简介和分词Lucene.net站内搜索—3.最简单搜索引擎代码Lucene.net站内搜索—4 ...

随机推荐

  1. python tkinter窗口弹出置顶的方法

    加上下面两句即可实现root窗口的置顶显示,可以用于某些程序的消息提示,能够弹出到桌面显示 root = Tk() root.wm_attributes('-topmost',1)

  2. Mysql中的索引问题

    索引的用途 提高查询的效率,相当于在字典中建立的字母表或者偏旁部首表,这样查询当然比一行一行查询要快的多 每个存储引擎可以建立索引的长度是不一样的,但每个表至少支持16个索引,总的索引长度至少为256 ...

  3. 【译】建立属于你的个人高效系统——效率专家 Mike Vardy 教你如何设置一个简单的个人高效系统

    原文:http://mux.baidu.com/?p=5300 百度MUX 已经有太多的高效系统供人使用,而对于那些刚刚开始,想寻求更好方法完成他们任务,项目,目标的人来说,要做一个高效系统却是相当艰 ...

  4. EJB2的配置

    1. ejb-jar.xml <?xml version="1.0" encoding="UTF-8"?> <ejb-jar xmlns=&q ...

  5. vue-cli下面的config/index.js注解 webpack.base.conf.js注解

    config/indexjs详解上代码: 'use strict' // Template version: 1.3.1 // see http://vuejs-templates.github.io ...

  6. 错误消息 This computer doesn't have VT-X/AMD-v enabled

    在VirtualBox的Ubuntu虚拟机里试图本地安装Kyma(一个基于Kubernetes的开源框架)时,遇到下面的错误信息: E0827 11:19:38.972489 3093 start.g ...

  7. (转)SpringMVC学习(八)——SpringMVC中的异常处理器

    http://blog.csdn.net/yerenyuan_pku/article/details/72511891 SpringMVC在处理请求过程中出现异常信息交由异常处理器进行处理,自定义异常 ...

  8. Android(java)学习笔记184:多媒体之 MediaPlayer使用

    MediaPlayer类可用于控制音频/视频文件或流的播放.关于如何使用这个类的方法还可以阅读VideoView类的文档. 1.MediaPlayer 状态图       对播放音频/视频文件和流的控 ...

  9. Python3基础教程(十七)—— Virtualenv

    虚拟的 Python 环境(简称 venv) 是一个能帮助你在本地目录安装不同版本的 Python 模块的 Python 环境,你可以不再需要在你系统中安装所有东西就能开发并测试你的代码. 安装Vir ...

  10. CSS继承inherit | elementUI NavMenu vertical竖版 加 A标记 外联 不能继承上层color,需要手写下color:inherit;

    <li data-v-576b9cf5="" role="menuitem" tabindex="0" class="el- ...