搜索工具
静态网站也能拥有动态搜索功能?是的,Hugo 为静态网站提供了一种替代 Google 或其他搜索引擎嵌入式脚本的方案。Hugo 允许您通过直接索引内容文件,为访问者提供自定义搜索功能。
开源
- Pagefind
- 一个完全静态的搜索库,旨在在大规模站点上表现良好,同时尽可能少地占用用户带宽。
- Hugo 工作流程的 GitHub Gist
- 此 gist 包含一个简单的流程,用于为您的静态网站创建搜索索引。它使用简单的 Grunt 脚本索引所有内容文件,并使用 lunr.js 提供搜索结果。
- hugo-lunr
- 使用 lunr.js 向静态 Hugo 网站添加站点搜索的一种简单方法。Hugo-lunr 将创建 Hugo 项目中任何 HTML 和 Markdown 文档的索引文件。
- hugo-lunr-zh
- 与 Hugo-lunr 类似,但 Hugo-lunr-zh 可以帮助您分离中文关键词。
- Fuse.js 集成的 GitHub Gist
- 此 gist 演示了如何利用 Hugo 现有的构建时间处理来生成可由客户端的 Fuse.js 使用的可搜索 JSON 索引。虽然此 gist 使用 Fuse.js 进行模糊匹配,但任何能够读取 JSON 索引的客户端搜索工具都可以使用。不需要 npm、grunt 或其他构建时工具,只需要 Hugo!
- hugo-search-index
- 一个包含 Gulp 任务和预构建浏览器脚本的库,该脚本实现搜索功能。Gulp 从项目 Markdown 文件生成搜索索引。
- hugofastsearch
- 对“Fuse.js 集成的 GitHub Gist”的可用性和速度进行了更新——全局的、键盘优化的搜索。
- JS & Fuse.js 教程
- 一个简单的客户端搜索解决方案,使用 FuseJS(不需要 jQuery)。
- Hugo Lyra
- Hugo-Lyra 是一个 JavaScript 模块,用于将 Lyra 集成到 Hugo 网站中。它包含用于生成索引的服务器端部分和用于轻松引导搜索引擎的客户端库(可选)。
- 用于 WebAssembly 的 INFINI Pizza
- Pizza 是一个超轻量级但功能齐全的搜索引擎,用 Rust 编写。您只需三行代码,即可在五分钟内快速将离线搜索功能添加到您的 Hugo 网站中。有关将其与 Hugo 集成的逐步指南,请查看 此博客教程 。