jekyll で検索機能を実装する方法
Published: 2018-07-14


jekyll で検索機能を実装する方法を調べました。


  • Google カスタム検索を利用


カスタム検索 - カスタム検索エンジンの作成

jekyll で運用しているブログの url を変更したのですが、Google の検索結果に反映されるまでに時間がかかりました。

方法2. (※ 2018/06/09 時点: できませんでした)

  • 全文検索エンジンの lunr.js を利用

$ gem install jekyll-lunr-js-search


Fetching libv8 Installing libv8 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- 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-!’ from /Users/hogehoge/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/libv8- 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- for inspection. Results logged to /Users/hogehoge/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/extensions/x86_64-darwin-142.2.0-static/libv8-

An error occurred while installing libv8 (, and Bundler cannot continue. Make sure that gem install libv8 -v '' 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](

```jekyll-lunr-js-search``` を利用せずに lunr を利用する方法を今度試してみます。

#### 以降、未実施

```_config.yml``` に ```jekyll-lunr-js-search``` を追記します

plugins: - jekyll-lunr-js-search ```