目的
jekyll で検索機能を実装する方法を調べました。
方法1.
- Google カスタム検索を利用
下記のページから簡単に導入することができます。
jekyll で運用しているブログの url を変更したのですが、Google の検索結果に反映されるまでに時間がかかりました。
方法2. (※ 2018/06/09 時点: できませんでした)
- 全文検索エンジンの lunr.js を利用
$ gem install jekyll-lunr-js-search
しかし、エラーが発生しました。
Fetching libv8 3.16.14.19 Installing libv8 3.16.14.19 with native extensions Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
/Users/hogehoge/.rbenv/versions/2.2.2/bin/ruby -r ./siteconf20180609-87351-bupw5i.rb extconf.rb
creating Makefile
/Users/hogehoge/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/libv8-3.16.14.19/ext/libv8/builder.rb:86:in setup_python!': libv8 requires python 2 to be installed in order to build, but it is currently
3.6.2 (RuntimeError)
from /Users/hogehoge/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/libv8-3.16.14.19/ext/libv8/builder.rb:53:in
build_libv8!’
from /Users/hogehoge/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/libv8-3.16.14.19/ext/libv8/location.rb:24:in install!'
from extconf.rb:7:in
extconf failed, exit code 1
Gem files will remain installed in /Users/hogehoge/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/libv8-3.16.14.19 for inspection. Results logged to /Users/hogehoge/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/extensions/x86_64-darwin-14⁄2.2.0-static/libv8-3.16.14.19/gem_make.out
An error occurred while installing libv8 (3.16.14.19), and Bundler cannot continue.
Make sure that gem install libv8 -v '3.16.14.19'
succeeds before bundling.
In Gemfile: jekyll-lunr-js-search was resolved to 3.3.0, which depends on therubyracer was resolved to 0.12.3, which depends on libv8
エラーが示す通り、therubyracer、libv8 のインストールを試みたりしたのですが
解決には時間がかかりそうなのでここでストップすることにします。
下記が github のリポジトリなのですが、今はサポートされてないのかもしれません。
- [slashdotdash/jekyll-lunr-js-search: [UNSUPPORTED] Jekyll + lunr.js = static websites with powerful full-text search using JavaScript](https://github.com/slashdotdash/jekyll-lunr-js-search)
```jekyll-lunr-js-search``` を利用せずに lunr を利用する方法を今度試してみます。
#### 以降、未実施
```_config.yml``` に ```jekyll-lunr-js-search``` を追記します
plugins: - jekyll-lunr-js-search ```