更換 Octopress 的搜尋功能
發現兩個問題:Tapir 不支援中文、換過 permalink 會怪怪的。
2014/4/28 updated
Octopress 預設的 search 功能是 Google search,一搜尋就會導到 Google 的頁面。不太喜歡這種方式,把 search 換成 Tapir,可以在自己站內找。
Tapir 的原理是它每 15 分鐘會掃一次網站的 RSS,再透過他們的 API 達到以 RSS 為 base 的搜尋功能。要注意的是,沒在 RSS 中的文章是不會被 search 到的。
修改方式
先到 Tapir 輸入 RSS feed 跟 mail,會得到一組 key,這裡只需要用到 public key。
到 Octopress Tapir plugin 下載所需檔案並放到對應資料夾。
- source/search.html
- source/javascripts/jquery_tapir.js
- source/images/loading.gif
修改 _config.yml
:
- 註解掉
simple_search
- 加入
tapir_token: [your public key from Tapir]
修改 source/_includes/navigation.html
,在 include custom/navigation.html
前面加入:
修改 source/atom.xml
,拿掉 for post in site.posts limit: 20
的 limit: 20
,讓所有 post 都會出現在 RSS feed 。另一個可能的做法是複製 source/atom.xml
為 source/atomForSearch.xml
,rake generate
後將這個 XML 的 URL 丟給 Tapir 當作 search 的 base。