Ghostのカスタマイズテーマでサイト内検索を実装する

前回の投稿で、日本語環境だとghostHunter.jsが正常に動作しない旨について話をしたが、GhostのAPIを使って、どうにか自前でサイト検索できないか検証を行っている。

本ブログのホームページの上段に試験的にサイト内検索する検索ホームを追加してみた。

キモになる部分は1箇所しかなくて、以下のようにpostsをぐるぐるループして全文検索すれば、パフォーマンスを無視すれば理論上検索が可能になる。

注意点として、以下のコードは、管理画面のLabs-Public APIにチェックを入れておかないと機能しない

$.get(ghost.url.api('posts', query)).done(function (data){
    $.each(data.posts,function(i, elm){
       :
    }
});

パフォーマンスを重要視するならば、DBから検索したほうが早いが、クライアントのソースにDB処理を直接記述するのは危険なので、サーバーサイド側に手を入れる必要があるが、このあたりはまだ公式にインタフェースが公開されていないようなので、当面は様子見になりそう。