https://github.com/gethinode/mod-flexsearch
A Hugo module to add full text search powered by FlexSearch to your Hinode site
https://github.com/gethinode/mod-flexsearch
hugo hugo-theme hugo-theme-component
Last synced: 30 days ago
JSON representation
A Hugo module to add full text search powered by FlexSearch to your Hinode site
- Host: GitHub
- URL: https://github.com/gethinode/mod-flexsearch
- Owner: gethinode
- License: mit
- Created: 2023-07-12T03:34:52.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2026-05-13T06:24:37.000Z (about 1 month ago)
- Last Synced: 2026-05-13T08:26:46.600Z (about 1 month ago)
- Topics: hugo, hugo-theme, hugo-theme-component
- Language: JavaScript
- Homepage: https://gethinode.com
- Size: 1.51 MB
- Stars: 2
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Hinode Module - FlexSearch
A Hugo module to add full text search powered by FlexSearch to your Hinode site
## About

Hinode is a clean blog theme for [Hugo][hugo], an open-source static site generator. Hinode is available as a [template][repository_template], and a [main theme][repository]. This repository maintains a Hugo module to add [FlexSearch][flexsearch] to a Hinode site. Visit the Hinode documentation site for [installation instructions][hinode_docs].
## Contributing
This module uses [semantic-release][semantic-release] to automate the release of new versions. The package uses `husky` and `commitlint` to ensure commit messages adhere to the [Conventional Commits][conventionalcommits] specification. You can run `npx git-cz` from the terminal to help prepare the commit message.
## Configuration
This module supports the following parameters (see the section `params.modules` in `config.toml`):
| Setting | Default | Description |
|---------------------------|----------|-------------|
| `flexsearch.canonifyURLs` | false | If set, uses absolute URLs for the indexed pages instead of relative URLs. |
| `flexsearch.frontmatter` | false | If set, includes front matter in the page content. The search index function adds all parameters with the name `content`, `heading`, `title`, `preheading` recursively. |
| `flexsearch.filter` | "params" | Restricts the scanned frontmatter variables to the named filter. By default, all front matter variables are scanned. Only applicable when `flexsearch.frontmatter` is set. |
In addition, the module recognizes the following site parameters (see the section `params.navigation` in `config.toml`):.
| Setting | Default | Description |
|------------------|-----------|-------------|
| `search.enabled` | false | If set, enables search in the site's main navigation. |
| `search.modal` | false | If set, uses a modal form for search queries. Defaults to an embedded input field. |
| `search.icon` | `fas magnifying-glass` | Defines the icon used in the site's main navigation. Only applicable to `modal` search. |
[conventionalcommits]: https://www.conventionalcommits.org
[flexsearch]: https://github.com/nextapps-de/flexsearch
[hugo]: https://gohugo.io
[hinode_docs]: https://gethinode.com
[repository]: https://github.com/gethinode/hinode.git
[repository_template]: https://github.com/gethinode/template.git
[semantic-release]: https://semantic-release.gitbook.io/