文章目录
  1. 1. 主题环境
    1. 1.1. 正文
      1. 1.1.1. Swiftype
      2. 1.1.2. 文件修改
      3. 1.1.3. 调试
    2. 1.2. Reference

主题环境

hexo 3.0
jacman修改于pacman(基本差不多)

以前使用的Tinyso(微搜),不过这几个月已经无限502-504了,看了一下官方博客,好像从2015就没维护了..放弃换成Swiftype,15天free trial 网上查了一下好像过期不影响站内搜索,如果失效就更新..
–FreeTrail 过后测试正常,SwiftSearch可放心食用

正文

Swiftype

1.注册账号->Swiftype
2.create engine(search engine,名字随便取) -> 填入自己的URL验证
3.My Search Engines -> 1
2
4.记下以下的class名.
3

文件修改

  1. /yourOwnPath/hexo/themes/jacman/_config.yml末尾

    1
    2
    swift_search:
    enable: true
  2. 创建文件/yourOwnPath/hexo/themes/jacman/layout/_partial/swift_search.ejs

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    //将调用的代码复制进去
    <% if (theme.swift_search.enable){ %>
    <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','6CrKq4WqLzE2qozYG7T_','2.0.0');
    </script>

    <% } %>
  3. /yourOwnPath/hexo/themes/jacman/layout/_partial/header.ejs

    1
    2
    3
    4
    5
    6
    7
    //将该html代码插入在google_cse之前,不然报错..
    //action可以模仿其他search写法,默认本页面显示
    <% if(theme.swift_search.enable){ %>
    <form class="search" action="" method="get" accept-charset="utf-8">
    <input type="text" class="st-default-search-input" style="webkit-border-radius: 0;border-radius: 0;" placeholder="Search">
    </form>
    <% } //根据后面的if else结构完成闭合

  4. /yourOwnPath/hexo/themes/jacman/layout/_partial/after_footer.ejs

    1
    2
    3
    4
    //最后添加如下代码,使swift_search.ejs文件生效
    <!-- Swift_search Begin -->
    <%- partial('swift_search') %>
    <!-- Tiny_search End -->

调试

hexo g;hexo s
测试是否成功
默认应该和本blog一样的效果

Reference

Hexo静态博客添加站内搜索–Swiftype

文章目录
  1. 1. 主题环境
    1. 1.1. 正文
      1. 1.1.1. Swiftype
      2. 1.1.2. 文件修改
      3. 1.1.3. 调试
    2. 1.2. Reference