JavaScriptを有効にしてください

Hugo zzoでサイト内検索できるようにする方法

経緯

zzoのテーマを設定する際にサイト内検索を使うように設定していたはずなのに、実際に検索してみると何も結果が表示されないので確認する。

params.toml の確認

1
2
3
4
enableSearch = true
enableSearchHighlight = true
enableAppbarSearchIcon = true
searchResultPosition = "main" # side, main

下の2行は初期設定では記述がないが、とくに必須の項目とは思えない

config.toml の確認

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
[outputs]
  home = ["HTML", "RSS", "SearchIndex"]
  section = ["HTML", "RSS", "SearchIndex"]
  taxonomyTerm = ["HTML", "RSS", "SearchIndex"]
  taxonomy = ["HTML", "RSS", "SearchIndex"]

[outputFormats]
  [outputFormats.SearchIndex]
    mediaType = "application/json"
    baseName = "index"
    isPlainText = true
    notAlternative = true

こちらも初期設定のままで問題なさそう。

問題点はどこか

設定ファイルを見てみたが、いずれも問題があるように思えない。

テーマファイルzzoのドキュメントを探してみると下記の記述をみつけた。

参考:Search – Z Themes Documentation

Make sure you set the right baseURL in the config.toml file. Search working fine when you run your site locally even though you haven’t set the baseURL. But it will make trouble when you deploy it to the server. See the issue regarding this.

baseURLを正しく設定するようにとのこと。

baseURL の確認

いやいや、Hugoで作成したサイトは問題なく閲覧できるのだから、いまさらbaseURLが間違えているということはないだろう。

と思いつつも確認する。

1
baseURL = "http://hishitu.net"

となっている。
うんうん、うん??

1
baseURL = "https://hishitu.net"

とした。

解決

これでサイト内検索ができるようになった。

HTTPSを利用することでURLが違うのだから当然といえば当然の話だ。

baseURLはちゃんと設定しよう。

共有