Hugo で全文検索

Hugo に検索機能を付けるためにいろいろと調査。最終的には、Hugo の情報がまとまっている まくまく Hugo ノート で紹介されていた 全文検索(インクリメンタルサーチ)の機能を付ける を参考に実装した。

少しだけ工夫した点として、このページでは検索用のデータをsearch/data.jsというJavaScript ファイルに出力しているけれど、サイトのビルド時に<script>...</script>内に同様のデータをコードとして直接貼り付けるように変更。さらにお手軽に実装できるようになった。

var data = [
{{ range $index, $page := .Site.Pages }}
  {
    url: {{ $page.RelPermalink }},
    title: {{ $page.Title }},
    body: {{ template "escape" ( print $page.Title " " $page.Plain ) }}
  },
{{ end }}
];
hugo
Posted :