Hugo Book中英多语言搜索配置
"不太行,得再研究一下"

Hugo Book中英多语言搜索配置 #

Hugo Book指定languageCode = 'zh'后,可支持中文搜索,但不支持英文。
反之当指定为en时,不支持中文搜索。

一、最终效果 #


二、当前版本解决方法 #

当指定languageCode = “zh”
修改themes/hugo-book/i18n/zh.yaml文件的配置项:bookSearchConfig

- id: bookSearchConfig
  translation: |
    {
      encode: false,
      tokenize: function(str) {
        return str.replace(/[\x00-\x7F]/g, '').split('');
      }
    }    

关键行是str.replace(/([\x00-\x7F] | ' ')/g, '').split('') – 正则中增加了空格。

可能后续Hugo会修复 或 变成默认配置。
目前以下版本是上述配置可生效。
Hugo Version: v0.108.0
Hugo Book : v9

此时config.toml中的语言配置是:

languageCode = 'zh'
defaultContentLanguage = 'zh'
hasCJKLanguage = true