Search
Configure Search
The theme offers three levels of search through the menu’s search form:
- In-page search: Highlights search terms on the current page
- Search popup: Opens a popup with results from other pages
- Dedicated search page: Accessible by clicking the magnifier glass or pressing ENTER
Each level requires the previous one to be enabled. If no search is configured, the search form won’t appear.
Option All levels are enabled by default. Disable them in hugo.toml
:
- In-page search:
disableSearch=true
- Search popup:
disableSearchIndex=true
- Dedicated search page:
disableSearchPage=true
[params]
disableSearch = true
disableSearchIndex = true
disableSearchPage = true
params:
disableSearch: true
disableSearchIndex: true
disableSearchPage: true
{
"params": {
"disableSearch": true,
"disableSearchIndex": true,
"disableSearchPage": true
}
}
Option Default URLs can be changed with the following parameter
- Search popup:
searchindex.js
set bysearchIndexURL
- Dedicated search page:
search/index.html
set bysearchPageURL
[params]
searchIndexURL = 'omnisearchindex.js'
searchPageURL = 'omnisearch'
params:
searchIndexURL: omnisearchindex.js
searchPageURL: omnisearch
{
"params": {
"searchIndexURL": "omnisearchindex.js",
"searchPageURL": "omnisearch"
}
}
Only change these if you have content at those URLs. This can happen with uglyURLs=true
in hugo.toml
and having a content file at content/search.md
.
Check for duplicate URLs by running hugo --printPathWarnings
.
Supported Languages
The Lunr search library doesn’t support all languages of the theme. Unsupported languages will show errors in the browser console. Currently unsupported are
- Czech
- Indonesian
- Polish
- Swahili
Mixed Language Support
Option In case your page’s content contains text in multiple languages (for example, you are writing a Piratish documentation for your English API), you can set those languages in additionalContentLanguage
to broaden the search.
[params]
additionalContentLanguage = ['en']
params:
additionalContentLanguage:
- en
{
"params": {
"additionalContentLanguage": [
"en"
]
}
}
You can add multiple languages to this array.
Use the base language code. For example, if your page is using zh-CN
, add zh
to this parameter.