hexo干貨系列:(五)hexo添加站內搜索


前言

本來想用百度站內搜索,但是沒成功,所以改用swiftype,用起來還是很棒的,這里分享一下我的安裝步驟

正文

注冊

去swiftype官網注冊個賬號,然后登陸,對了不要去在意30天試用,30天過了還能繼續使用,網站給的是30天高級賬戶的使用(那種有可以建立多個搜索引擎、多賬戶共同管理、一個引擎index多個域名的功能的賬戶),降級成為免費的賬戶類型,但是還能使用。

Create an engine

登陸后選擇開始開干,步驟大概如下

  1. 點擊Create an engine
  2. 給你的網站建立一個索引
  3. 輸入你的網址
  4. 起個名字



3

上面配置好后開始抓取你網站的數據,大概等了幾分鍾后,查看Manage下面的Content,就能看到抓取的一些目錄和tag數據過來,如果你不想要的話可以手動刪除。

接下來就是重頭戲,如何安裝插件,首先點擊左下方的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點了,明天還要上班,洗洗睡。

參考

利用swiftype為hexo添加站內搜索v2.0


更多教程可以來我嘟嘟獨立博客里面看到

歡迎來訪:嘟嘟獨立博客


最近擼了個java的公眾號,學習資源超級多,視頻,電子書,最新開發工具一個都不能少,已全部分享到百度雲盤,求資源共享,打造一個學習方便,工作方便的java公眾號,開源開源,有需求的可以關注~撒花


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM