为 Hugo 静态网站添加全文检索功能

Hugo 是一种使用 Go 语言编写的静态网站构建工具。在其官网文章《Search for your Hugo Website》中,介绍几种为静态网站添加全文检索功能的方法。本文采用 Pagefind 为纯静态网站实现全文检索功能。

Pagefind 是一个独立的命令行工具,可以通过 npm install pagefind 来安装。其原理是:运行 Pagefind 命令,扫描所有静态网页并生成索引;用户搜索时,通过网页中内嵌的 JavaScript 脚本来访问预先生成的索引,从而实现静态全文检索。

……

使用 GitHub Actions 自动部署 Hugo 站点

一直使用 Hugo 来生成静态网站,并通过 Travis CI 来自动化部署到 GitHub Pages。今天偶然得知 travis-ci.org 将于五月底关闭,正好趁此机会用 GitHub Actions 来替换 Travis CI。

创建代码仓库

首先按照文档创建 GitHub Pages 站点。该仓库可见性必须是 Public。

另外创建一个仓库用来存放 Hugo 的源文件,名称随意,这里假设仓库名叫 pages-hugo-source。建议将仓库可见性设置成 Private 以保护好你的源代码。

……