flexibleSearchをJekyll(Github Pages)で使う

Posted on 2013/10/17 Tag : flexibleSearch Jekyll

Github Pagesだと動的なことができないから、flexibleSearchをJekyllで使ってみる方法で検索部分を実装してみた

tinybeans/jq-plugin-flexibleSearch
https://github.com/tinybeans/jq-plugin-flexibleSearch

flexibleSearchはJSONベースの検索システム。

JSONの生成

JSONをどうやってだすんだろう??というところでかなり時間がかかった。

{% gist 7033839 %}

こんなかんじで、一応エラーが出ないJSONを生成することが出来た。
flexibleSearchの次期バージョンからitemではなくitemsになってるので要注意。

最新版はGithubのdevelopブランチに入っている。

flexibleSearch

js部分はこんな感じで。

{% gist 7035259 %}

最新版ではjQueryの他に mustache.jsも必須になってます。

mustache
http://mustache.github.io/

JavaScriptのをおとしておきます。

janl/mustache.js
https://github.com/janl/mustache.js

検索結果ページ

検索結果のページは

<div id="fs-result"></div>

を埋め込むだけ。

{% gist 7049726 %}

結果表示部分はこんな感じでflexibleSearch.jsを書き換えておいた。

{% gist 7049773 %}

ここは近いうちにオプション側で指定出来るようになるとのこと。

検索フォーム

検索フォーム部分も同様にflexibleSearch.jsを書き換え。

{% gist 7049781 %}

カテゴリアーカイブ

カテゴリアーカイブをflexibleSearchで作成した

JSONにcategoriesとしてcategoryを出すように修正。

{% gist 7056249 %}

サイドバーのカテゴリリスト部分は以下の様な感じで修正。

{% gist 7056240 %}