前言
上篇 提到如何設定後端服務。設定好了後,我們要想辦法把功能整合到網誌上。不幸的是 Anisina 主題並沒有提供樣版,只能自行實作。
修改樣版
我們要修改主題內的樣版,先 cd themes/Anisina。接著我們要添加一些 html。
1. 添加搜尋按鈕

打開 layout/_partial/nav.ejs,在 ul 標籤內加上
  <ul class="nav navbar-nav navbar-right">     ...     ... + <% if (config.algolia){ %> +   <li> +     <a href="#search" class="popup-trigger"> +       <i class="fa fa-search"></i> +     </a> +    </li> + <% } %>   </ul>
   | 
2. 添加搜尋彈出式 Modal

同樣是 layout/_partial/nav.ejs,在最下方加上:
<% if (config.algolia){ %>   <div class="site-search">     <div class="algolia-popup popup">       <div class="algolia-search">         <div class="algolia-search-input-icon">           <i class="fa fa-search"></i>         </div>         <div class="algolia-search-input" id="algolia-search-input"></div>       </div>       <div class="algolia-results">         <div id="algolia-stats"></div>         <div id="algolia-hits"></div>         <div id="algolia-pagination" class="algolia-pagination"></div>       </div>       <span class="popup-btn-close">         <i class="fa fa-times-circle"></i>       </span>     </div>   </div> <% } %>
  | 
3. 添加相關 js, css 檔
下載下面的 js, css 檔,分別放到 source/js/ 以及 source/css/ 內
instantsearch.min.js
algolia.js
algolia.css
並打開 layout/_partial/head.ejs,在 head 標籤內加上:
   <head>      ...      ... +  <% if (config.algolia){ %> +    <%- css('css/algolia') %> +    <%- js('js/algolia') %> +    <%- js('js/instantsearch.min') %> +  <% } %>    </head>
   | 
css 內已經幫你處理好一些被 bootstrap 影響的樣式,以及加上 highlight 效果。
js 內也已經幫你修好一些 BUG,並加上 debounce ,避免每打一個字就發一次請求。
4. 加上 API Keys
編輯 algolia.js,填上你自己的 key。
  var CONFIG ={ -   root: '/some_root/', +   root: '/your_root/', // 跟你 _config.yml 內的 root 設定要一樣。     algolia:{ -      applicationID: 'XXXXXX', -      apiKey: 'YYYYYYYYYYY', -      indexName: 'ZZZZZZ', +      applicationID: 'YDG1C4ASA4', +      apiKey: 'eecdd0f2174b77269d964813a61812bc', +      indexName: 'khiav-hexo-blog',       hits:{ per_page: 10 },       labels:{ "input_placeholder": "輸入搜尋內容", "hits_empty": "找不到「${query}」", "hits_stats": "找到 ${hits} 條相關條目,花費 ${time} 亳秒" }     }   };
  | 
5. 加上 Algolia Logo
輸入 cd ../../ 回到 blog 路徑,下載下面這張圖片,放到 source/imgs/ 內

6. 完成!
回到 Blog 上看看,應該已經能使用搜尋功能了。